barbieri pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bf2abf12b403230964fe99e9d4b6374a359e2459

commit bf2abf12b403230964fe99e9d4b6374a359e2459
Author: Gustavo Sverzut Barbieri <gustavo.barbi...@intel.com>
Date:   Thu Mar 6 00:53:08 2014 -0300

    evas/fb: avoid crashing it outbuf setup failed.
    
    if fb setup fails, then we shouldn't use re->ob as it's NULL.
    
    @fix
---
 src/modules/evas/engines/fb/evas_engine.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/fb/evas_engine.c 
b/src/modules/evas/engines/fb/evas_engine.c
index ea73f8e..1fc6584 100644
--- a/src/modules/evas/engines/fb/evas_engine.c
+++ b/src/modules/evas/engines/fb/evas_engine.c
@@ -62,8 +62,16 @@ _output_setup(int w, int h, int rot, int vt, int dev, int 
refresh)
 
    evas_fb_outbuf_fb_init();
 
-   /* get any stored performance metrics from device (xserver) */
+   /* get any stored performance metrics from device */
    re->ob = evas_fb_outbuf_fb_setup_fb(w, h, rot, OUTBUF_DEPTH_INHERIT, vt, 
dev, refresh);
+   if (!re->ob)
+     {
+        free(re);
+        evas_common_font_shutdown();
+        evas_common_image_shutdown();
+        return NULL;
+     }
+
    re->tb = evas_common_tilebuf_new(evas_fb_outbuf_fb_get_width(re->ob), 
evas_fb_outbuf_fb_get_height(re->ob));
    /* no backbuf! */
    evas_fb_outbuf_fb_set_have_backbuf(re->ob, 0);

-- 


Reply via email to