ecore_wl2_subsurface: remove double free 66/253366/2 accepted/tizen/unified/20210215.131008 submit/tizen/20210210.005432
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 9 Feb 2021 07:23:19 +0000 (16:23 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Tue, 9 Feb 2021 07:51:56 +0000 (16:51 +0900)
User could use ecore_wl2_subsurface API as below.

if (!ecore_wl2_subsurface_video_surface_prepare)
   ecore_wl2_subsurface_del;

If video_surface_prepare frees subsurface when it gets a failure,
then del also tries to free the subsurface again. (double free)

It does not make sense to release subsurface in video_surface_prepare.
So this patch is removing the line to free subsurface.

*tizen_fix

Change-Id: I5da0c10f59ebae5d7b4406f8ad93dacb082bb285

src/lib/ecore_wl2/ecore_wl2_subsurf.c

index a4d0162..4df56a3 100644 (file)
@@ -285,7 +285,7 @@ create_buf_err:
    subsurface->wl.tbm_surface = NULL;
 
 client_init_err:
-   _ecore_wl2_subsurf_free(subsurface);
+   subsurface->video = EINA_FALSE;
 
    return EINA_FALSE;
 }