summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-11-02 16:07:52 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-11-02 16:21:56 -0500
commit99d0f03c6fa966ac95930d076dc2bb70472029b6 (patch)
tree99cddc0ec43fca5138b1171e2e0d30a73eb793a9
parent24691068312daa4948db5fd8bbfb60c199c22059 (diff)
downloadefl-99d0f03c6fa966ac95930d076dc2bb70472029b6.tar.gz
evas gl_drm: don't deref null ptr on output free
-rw-r--r--src/modules/evas/engines/gl_drm/evas_engine.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c
index 0c02d032af..bfa9d58149 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -959,15 +959,17 @@ eng_output_free(void *data)
re = (Render_Engine *)data;
if (re)
{
+ Evas_Engine_Info_GL_Drm *info;
+
glsym_evas_gl_preload_render_relax(eng_preload_make_current, eng_get_ob(re));
if (gl_wins == 1) glsym_evgl_engine_shutdown(re);
+ info = eng_get_ob(re)->info;
/* NB: evas_render_engine_software_generic_clean() frees ob */
evas_render_engine_software_generic_clean(&re->generic.software);
- eng_gbm_shutdown(eng_get_ob(re)->info);
-
+ eng_gbm_shutdown(info);
gl_wins--;
free(re);