Don't crash when eglCreateContext fails
authorMariusz Ceier <mceier+wayland@gmail.com>
Sat, 8 Feb 2014 19:11:24 +0000 (20:11 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 10 Feb 2014 05:38:03 +0000 (21:38 -0800)
eglCreateContext fails with every EGLConfig that
nvidia blob 334.16 provides causing NULL pointer
dereference in gl_renderer_destroy when destroying
fragment and fan bindings.

https://bugs.freedesktop.org/show_bug.cgi?id=74699

Signed-off-by: Mariusz Ceier <mceier+wayland@gmail.com>
src/gl-renderer.c

index d03bce6..76325f4 100644 (file)
@@ -1766,8 +1766,10 @@ gl_renderer_destroy(struct weston_compositor *ec)
        wl_array_release(&gr->vertices);
        wl_array_release(&gr->vtxcnt);
 
-       weston_binding_destroy(gr->fragment_binding);
-       weston_binding_destroy(gr->fan_binding);
+       if (gr->fragment_binding)
+               weston_binding_destroy(gr->fragment_binding);
+       if (gr->fan_binding)
+               weston_binding_destroy(gr->fan_binding);
 
        free(gr);
 }