[glibmm] DBusConnection: Callbacks: Check for NULL GError** parameters.



commit 851deae26858c175ec3719282a23e8959805f89a
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Fri Jan 7 15:21:03 2011 -0500

    DBusConnection: Callbacks: Check for NULL GError** parameters.
    
    	* gio/src/dbusconnection.ccg: Make sure that the callbacks that set a
    	GError* do not try to access a NULL pointer if NULL has been passed
    	as the GError** parameter.
    
    	Bug #637587 (Yannick Guesnet)

 ChangeLog                  |   10 ++++++++++
 gio/src/dbusconnection.ccg |    6 ++++--
 2 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 9e493eb..b6b2c34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2011-01-07  José Alburquerque  <jaalburqu svn gnome org>
 
+	DBusConnection: Callbacks: Check for NULL GError** parameters.
+
+	* gio/src/dbusconnection.ccg: Make sure that the callbacks that set a
+	GError* do not try to access a NULL pointer if NULL has been passed
+	as the GError** parameter.
+
+	Bug #637587 (Yannick Guesnet)
+
+2011-01-07  José Alburquerque  <jaalburqu svn gnome org>
+
 	Gio::DBusConnection: Callbacks: Return all Glib::Errors to caller.
 
 	* gio/src/dbusconnection.ccg: Have to previously modified callbacks
diff --git a/gio/src/dbusconnection.ccg b/gio/src/dbusconnection.ccg
index 2400e1e..039a0b8 100644
--- a/gio/src/dbusconnection.ccg
+++ b/gio/src/dbusconnection.ccg
@@ -128,7 +128,8 @@ static GVariant* DBusInterfaceVTable_GetProperty_giomm_callback(
   }
   catch(const Glib::Error& ex)
   {
-    *error = const_cast<GError*>(ex.gobj());
+    if(error)
+      *error = const_cast<GError*>(ex.gobj());
   }
   catch(...)
   {
@@ -158,7 +159,8 @@ static gboolean DBusInterfaceVTable_SetProperty_giomm_callback(
   }
   catch(const Glib::Error& ex)
   {
-    *error = const_cast<GError*>(ex.gobj());
+    if(error)
+      *error = const_cast<GError*>(ex.gobj());
   }
   catch(...)
   {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]