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)
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)
959 re = (Render_Engine *)data; 959 re = (Render_Engine *)data;
960 if (re) 960 if (re)
961 { 961 {
962 Evas_Engine_Info_GL_Drm *info;
963
962 glsym_evas_gl_preload_render_relax(eng_preload_make_current, eng_get_ob(re)); 964 glsym_evas_gl_preload_render_relax(eng_preload_make_current, eng_get_ob(re));
963 965
964 if (gl_wins == 1) glsym_evgl_engine_shutdown(re); 966 if (gl_wins == 1) glsym_evgl_engine_shutdown(re);
965 967
968 info = eng_get_ob(re)->info;
966 /* NB: evas_render_engine_software_generic_clean() frees ob */ 969 /* NB: evas_render_engine_software_generic_clean() frees ob */
967 evas_render_engine_software_generic_clean(&re->generic.software); 970 evas_render_engine_software_generic_clean(&re->generic.software);
968 971
969 eng_gbm_shutdown(eng_get_ob(re)->info); 972 eng_gbm_shutdown(info);
970
971 gl_wins--; 973 gl_wins--;
972 974
973 free(re); 975 free(re);