From 23fdc24deb3d25a19ca74049aa717cf6656e5ffe Mon Sep 17 00:00:00 2001 From: Daniel Holbert Date: Mon, 18 Dec 2023 15:00:53 +0000 Subject: [PATCH] Bug 1870540: Fix nsPrintSettingsGTK assignment operator to null-check a member before increasing its reference count. r=stransky This change shouldn't change behavior for most users, since g_object_ref(nullptr) fails gracefully. But in certain configurations, e.g. with environmental variable G_DEBUG=fatal-criticals, its graceful-failure will also trigger a diagnostic warning or abort, which is worth avoiding. Hence, this patch. Differential Revision: https://phabricator.services.mozilla.com/D196690 --- widget/gtk/nsPrintSettingsGTK.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/widget/gtk/nsPrintSettingsGTK.cpp b/widget/gtk/nsPrintSettingsGTK.cpp index 6ca66a0fcfd0..a101f44fcb78 100644 --- a/widget/gtk/nsPrintSettingsGTK.cpp +++ b/widget/gtk/nsPrintSettingsGTK.cpp @@ -96,7 +96,11 @@ nsPrintSettingsGTK& nsPrintSettingsGTK::operator=( mPrintSettings = gtk_print_settings_copy(rhs.mPrintSettings); if (mGTKPrinter) g_object_unref(mGTKPrinter); - mGTKPrinter = (GtkPrinter*)g_object_ref(rhs.mGTKPrinter); + + if (rhs.mGTKPrinter) { + g_object_ref(rhs.mGTKPrinter); + } + mGTKPrinter = rhs.mGTKPrinter; return *this; }