From: Krisztian Litkey Date: Sat, 25 Oct 2014 08:35:31 +0000 (+0300) Subject: system-controller: don't dereference screen_resource_t after freeing it. X-Git-Tag: accepted/tizen/ivi/20150112.012920~76 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=5b287883d329a6ada1a5eab9f359ee6e59351250;p=profile%2Fivi%2Fmurphy.git system-controller: don't dereference screen_resource_t after freeing it. Change-Id: Iaf35be947867d205449861c659d5915f8569447c --- diff --git a/src/plugins/system-controller/resource-manager/screen.c b/src/plugins/system-controller/resource-manager/screen.c index 20414e6..110e1b2 100644 --- a/src/plugins/system-controller/resource-manager/screen.c +++ b/src/plugins/system-controller/resource-manager/screen.c @@ -1125,6 +1125,7 @@ static void screen_resource_destroy(mrp_resmgr_screen_t *screen, const char *appid; int32_t layerid; int32_t surfaceid; + uint32_t zoneid; const char *areaname; MRP_ASSERT(res && screen && screen->resources, "invalid argument"); @@ -1145,10 +1146,12 @@ static void screen_resource_destroy(mrp_resmgr_screen_t *screen, if (surfaceid) mrp_htbl_remove(screen->resources, NULL + surfaceid, false); + zoneid = sr->zoneid; + mrp_list_delete(&sr->link); mrp_free(sr); - mrp_resmgr_notifier_flush_screen_events(screen->resmgr, sr->zoneid); + mrp_resmgr_notifier_flush_screen_events(screen->resmgr, zoneid); } }