Mesa (master): egl/dri2: fix segfault when display initialisation fails

Eric Engeström eric_engestrom at kemper.freedesktop.org
Fri Feb 23 11:17:45 UTC 2018


Module: Mesa
Branch: master
Commit: 6160bf97db8bc493512795b1fa49c072a703df50
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6160bf97db8bc493512795b1fa49c072a703df50

Author: Frank Binns <francisbinns at gmail.com>
Date:   Thu Feb 22 13:37:54 2018 +0000

egl/dri2: fix segfault when display initialisation fails

dri2_display_destroy() is called when platform specific display
initialisation fails. However, this would typically lead to a
segfault due to the dri2_egl_display vbtl not having been set up.

Fixes: 2db95482964 ("loader_dri3/glx/egl: Optionally use a blit
context for blitting operations")
Signed-off-by: Frank Binns <francisbinns at gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

---

 src/egl/drivers/dri2/egl_dri2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 17b646e7ed..c06a0ca099 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -973,7 +973,7 @@ dri2_display_destroy(_EGLDisplay *disp)
    struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
 
    if (dri2_dpy->own_dri_screen) {
-      if (dri2_dpy->vtbl->close_screen_notify)
+      if (dri2_dpy->vtbl && dri2_dpy->vtbl->close_screen_notify)
          dri2_dpy->vtbl->close_screen_notify(disp);
       dri2_dpy->core->destroyScreen(dri2_dpy->dri_screen);
    }




More information about the mesa-commit mailing list