This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch devs/devilhorns/apos
in repository efl.

View the commit online.

commit 8e153edf12d6561eab45e4724d6b1666ef6e7d00
Author: Christopher Michael <devilho...@comcast.net>
AuthorDate: Wed Aug 20 13:44:11 2025 -0500

    ecore_drm2: Fix issue of double-free when destroying a plane
---
 src/lib/ecore_drm2/ecore_drm2_planes.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/lib/ecore_drm2/ecore_drm2_planes.c b/src/lib/ecore_drm2/ecore_drm2_planes.c
index 648d4963de..b5de02341b 100644
--- a/src/lib/ecore_drm2/ecore_drm2_planes.c
+++ b/src/lib/ecore_drm2/ecore_drm2_planes.c
@@ -423,14 +423,17 @@ _ecore_drm2_planes_destroy(Ecore_Drm2_Device *dev)
                }
           }
 
+        /* only need to free formats from One of the plane states as the
+         * formats are copied to pending state in other parts of the code.
+         *
+         * If we try to free formats from both pending & current state,
+         * then we end up with a double-free */
+        _ecore_drm2_plane_state_formats_del(plane->state.current);
+
         if (plane->drmPlane) sym_drmModeFreePlane(plane->drmPlane);
 
-        _ecore_drm2_plane_state_formats_del(plane->state.pending);
         free(plane->state.pending);
-
-        _ecore_drm2_plane_state_formats_del(plane->state.current);
         free(plane->state.current);
-
         free(plane);
      }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to