Fix a crash when calling an object from a disposed application
authorMike Gorse <mgorse@novell.com>
Thu, 30 Dec 2010 11:33:56 +0000 (06:33 -0500)
committerMike Gorse <mgorse@novell.com>
Thu, 30 Dec 2010 11:33:56 +0000 (06:33 -0500)
atspi/atspi-misc.c

index d8feb32..23e3920 100644 (file)
@@ -1005,6 +1005,13 @@ _atspi_dbus_call (gpointer obj, const char *interface, const char *method, GErro
   DBusError err;
   AtspiObject *aobj = ATSPI_OBJECT (obj);
 
+  if (!aobj->app || !aobj->app->bus)
+  {
+    g_set_error_literal (error, ATSPI_ERROR, ATSPI_ERROR_APPLICATION_GONE,
+                          _("The application no longer exists"));
+    return FALSE;
+  }
+
   va_start (args, type);
   dbus_error_init (&err);
   retval = dbind_method_call_reentrant_va (aobj->app->bus, aobj->app->bus_name,