summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2010-09-10 00:02:47 +0800
committerChia-I Wu <[email protected]>2010-09-10 00:18:14 +0800
commit08a482e7a9d13db5d4e6fd974942f6699d7d49dc (patch)
tree1894296cea84822900f5fe1a623ed5cd9586655e
parent3ec296390c250dbcdc2690e78da9a51ec57dabf5 (diff)
egl: Display may be NULL in _eglLookup*.
This fixes several NULL dereferences.
-rw-r--r--src/egl/main/eglconfig.h2
-rw-r--r--src/egl/main/eglmode.c2
-rw-r--r--src/egl/main/eglscreen.c2
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++) {