video: Fix use after free 16/317516/1
authorSeunghun Lee <shiin.lee@samsung.com>
Wed, 11 Sep 2024 06:31:11 +0000 (15:31 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 11 Sep 2024 07:06:29 +0000 (16:06 +0900)
To avoid null dereference, it deletes post_client_idler_before_hook at
the beginning of the callback function.

Change-Id: I90f627752ae39fa26ffbcea1a0daf7b4b5f38639

src/bin/displaymgr/video/e_video_hwc.c

index 2d9d0f7ddf43052e01f04219ee6ac2268acb36b9..f5eb61be87fbd1e14f92a84ef6bbb32895921b91 100644 (file)
@@ -1230,6 +1230,8 @@ _e_video_hwc_cb_post_client_idler_before(void *data)
 
    evh = data;
 
+   E_FREE_FUNC(evh->render.post_client_idler_before_hook, e_main_hook_del);
+
    if (evh->render.map)
      {
         evh->render.map = EINA_FALSE;
@@ -1263,8 +1265,6 @@ _e_video_hwc_cb_post_client_idler_before(void *data)
              evh->backend.destroy(evh);
           }
      }
-
-   E_FREE_FUNC(evh->render.post_client_idler_before_hook, e_main_hook_del);
 }
 
 static void