From bee98f757e7e8d1f17160ac85c489e679e6ed908 Mon Sep 17 00:00:00 2001 From: Michael Terry Date: Mon, 11 Apr 2011 09:52:08 -0400 Subject: catch one more cancel-before-accessing freed memory instance -- this one resulting in a double free --- src/application-service-appstore.c | 5 +++++ 1 file changed, 5 insertions(+) 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; -- cgit v1.2.3