From 08a482e7a9d13db5d4e6fd974942f6699d7d49dc Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 10 Sep 2010 00:02:47 +0800 Subject: egl: Display may be NULL in _eglLookup*. This fixes several NULL dereferences. --- src/egl/main/eglconfig.h | 2 +- src/egl/main/eglmode.c | 2 +- src/egl/main/eglscreen.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/egl') diff --git a/src/egl/main/eglconfig.h b/src/egl/main/eglconfig.h index ca63c40d3d..0ad58cf473 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 37594cdb42..ed107d5d7a 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 8b8966f3ff..9e39335cc7 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++) { -- cgit v1.2.3