evas gl_x11: Fix uninitialized use of re in eng_output_flush()
authorDaniel Willmann <d.willmann@samsung.com>
Wed, 26 Jun 2013 13:32:21 +0000 (14:32 +0100)
committerDaniel Willmann <d.willmann@samsung.com>
Wed, 26 Jun 2013 13:42:10 +0000 (14:42 +0100)
In case of render_mode == EVAS_RENDER_MODE_ASYNC_INIT we're jumping
directly to end which then calls
evas_gl_preload_render_unlock(eng_preload_make_current, re);

Make sure re is initialized with the render engine data so we don't
dereference junk.

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
src/modules/evas/engines/gl_x11/evas_engine.c

index 7fde46a..980dc79 100644 (file)
@@ -1472,10 +1472,10 @@ static void
 eng_output_flush(void *data, Evas_Render_Mode render_mode)
 {
    Render_Engine *re;
+   re = (Render_Engine *)data;
 
    if (render_mode == EVAS_RENDER_MODE_ASYNC_INIT) goto end;
 
-   re = (Render_Engine *)data;
    if (!_re_wincheck(re)) goto end;
    if (!re->win->draw.drew) goto end;