Mesa (master): egl_dri2: Fix segmentation fault

Brian Paul brianp at kemper.freedesktop.org
Thu Aug 23 15:23:33 UTC 2012


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

Author: Paulo Alcantara <pcacjr at profusion.mobi>
Date:   Fri Aug 17 14:08:10 2012 -0300

egl_dri2: Fix segmentation fault

The segmentation fault occurs when DRI2 is not loaded up and
dri2_setup_screen() function deferences dri2_dpy->dri2 (since it's NULL
at this point).

This patch fixes the segmentation fault by checking if dri2 pointer is
not NULL before deferencing it.

Signed-off-by: Paulo Alcantara <pcacjr at profusion.mobi>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Brian Paul <brianp at vmware.com>

---

 src/egl/drivers/dri2/egl_dri2.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 423d18d..7326b85 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -481,7 +481,7 @@ dri2_setup_screen(_EGLDisplay *disp)
    assert(dri2_dpy->dri2 || dri2_dpy->swrast);
    disp->Extensions.KHR_surfaceless_context = EGL_TRUE;
 
-   if (dri2_dpy->dri2->base.version >= 3) {
+   if (dri2_dpy->dri2 && dri2_dpy->dri2->base.version >= 3) {
       disp->Extensions.KHR_create_context = EGL_TRUE;
 
       if (dri2_dpy->robustness)




More information about the mesa-commit mailing list