diff options
author | Michael Terry <mike@mterry.name> | 2011-04-11 09:52:08 -0400 |
---|---|---|
committer | Michael Terry <mike@mterry.name> | 2011-04-11 09:52:08 -0400 |
commit | bee98f757e7e8d1f17160ac85c489e679e6ed908 (patch) | |
tree | 5fe13dc623da88afc75ae73e3224651ccca8fe1f /src | |
parent | f17f35feaf2f6d413302b813ef451d20491f4894 (diff) | |
download | ayatana-indicator-application-bee98f757e7e8d1f17160ac85c489e679e6ed908.tar.gz ayatana-indicator-application-bee98f757e7e8d1f17160ac85c489e679e6ed908.tar.bz2 ayatana-indicator-application-bee98f757e7e8d1f17160ac85c489e679e6ed908.zip |
catch one more cancel-before-accessing freed memory instance -- this one resulting in a double free
Diffstat (limited to 'src')
-rw-r--r-- | src/application-service-appstore.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/application-service-appstore.c b/src/application-service-appstore.c index 3e827d5..4e32122 100644 --- a/src/application-service-appstore.c +++ b/src/application-service-appstore.c @@ -1110,6 +1110,11 @@ props_cb (GObject * object, GAsyncResult * res, gpointer user_data) GDBusProxy * proxy = g_dbus_proxy_new_for_bus_finish(res, &error); + if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { + g_error_free (error); + return; // Must exit before accessing freed memory + } + if (app->props_cancel != NULL) { g_object_unref(app->props_cancel); app->props_cancel = NULL; |