diff options
author | Chia-I Wu <[email protected]> | 2010-09-10 00:02:47 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2010-09-10 00:18:14 +0800 |
commit | 08a482e7a9d13db5d4e6fd974942f6699d7d49dc (patch) | |
tree | 1894296cea84822900f5fe1a623ed5cd9586655e | |
parent | 3ec296390c250dbcdc2690e78da9a51ec57dabf5 (diff) |
egl: Display may be NULL in _eglLookup*.
This fixes several NULL dereferences.
-rw-r--r-- | src/egl/main/eglconfig.h | 2 | ||||
-rw-r--r-- | src/egl/main/eglmode.c | 2 | ||||
-rw-r--r-- | src/egl/main/eglscreen.c | 2 |
3 files changed, 3 insertions, 3 deletions
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++) { |