From: Chia-I Wu Date: Thu, 9 Sep 2010 16:02:47 +0000 (+0800) Subject: egl: Display may be NULL in _eglLookup*. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=08a482e7a9d13db5d4e6fd974942f6699d7d49dc;p=mesa.git egl: Display may be NULL in _eglLookup*. This fixes several NULL dereferences. --- diff --git a/src/egl/main/eglconfig.h b/src/egl/main/eglconfig.h index ca63c40d3d7..0ad58cf473d 100644 --- a/src/egl/main/eglconfig.h +++ b/src/egl/main/eglconfig.h @@ -117,7 +117,7 @@ static INLINE _EGLConfig * _eglLookupConfig(EGLConfig config, _EGLDisplay *dpy) { _EGLConfig *conf = (_EGLConfig *) config; - if (!_eglCheckConfigHandle(config, dpy)) + if (!dpy || !_eglCheckConfigHandle(config, dpy)) conf = NULL; return conf; } diff --git a/src/egl/main/eglmode.c b/src/egl/main/eglmode.c index 37594cdb42d..ed107d5d7a7 100644 --- a/src/egl/main/eglmode.c +++ b/src/egl/main/eglmode.c @@ -25,7 +25,7 @@ _eglLookupMode(EGLModeMESA mode, _EGLDisplay *disp) { EGLint scrnum; - if (!disp->Screens) + if (!disp || !disp->Screens) return NULL; /* loop over all screens on the display */ diff --git a/src/egl/main/eglscreen.c b/src/egl/main/eglscreen.c index 8b8966f3ffd..9e39335cc7a 100644 --- a/src/egl/main/eglscreen.c +++ b/src/egl/main/eglscreen.c @@ -69,7 +69,7 @@ _eglLookupScreen(EGLScreenMESA screen, _EGLDisplay *display) { EGLint i; - if (!display->Screens) + if (!display || !display->Screens) return NULL; for (i = 0; i < display->Screens->Size; i++) {