From 408db29792a2d57409f2604974e4398a3545a38f Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Wed, 19 Aug 2009 13:00:25 +0800 Subject: egl: Check for null display in handle checking. The display may be NULL when checking a handle. Signed-off-by: Chia-I Wu --- src/egl/main/egldisplay.c | 10 ++++++---- src/egl/main/egldisplay.h | 9 ++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/egl') diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c index 30a49a25ae0..9b4227f5458 100644 --- a/src/egl/main/egldisplay.c +++ b/src/egl/main/egldisplay.c @@ -305,9 +305,10 @@ _eglCheckDisplayHandle(EGLDisplay dpy) EGLBoolean _eglCheckContextHandle(EGLContext ctx, _EGLDisplay *dpy) { - _EGLContext *cur; + _EGLContext *cur = NULL; - cur = dpy->ContextList; + if (dpy) + cur = dpy->ContextList; while (cur) { if (cur == (_EGLContext *) ctx) { assert(cur->Display == dpy); @@ -325,9 +326,10 @@ _eglCheckContextHandle(EGLContext ctx, _EGLDisplay *dpy) EGLBoolean _eglCheckSurfaceHandle(EGLSurface surf, _EGLDisplay *dpy) { - _EGLSurface *cur; + _EGLSurface *cur = NULL; - cur = dpy->SurfaceList; + if (dpy) + cur = dpy->SurfaceList; while (cur) { if (cur == (_EGLSurface *) surf) { assert(cur->Display == dpy); diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h index 6394c9cedba..20651e51ffd 100644 --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -125,14 +125,17 @@ _eglCheckSurfaceHandle(EGLSurface surf, _EGLDisplay *dpy); /* Only do a quick check. This is NOT standard compliant. */ static INLINE EGLBoolean -_eglCheckDisplayHandle(EGLDisplay dpy) { return EGL_TRUE; } +_eglCheckDisplayHandle(EGLDisplay dpy) +{ + return ((_EGLDisplay *) dpy != NULL); +} static INLINE EGLBoolean _eglCheckContextHandle(EGLContext ctx, _EGLDisplay *dpy) { _EGLContext *c = (_EGLContext *) ctx; - return (c && c->Display == dpy); + return (dpy && c && c->Display == dpy); } @@ -140,7 +143,7 @@ static INLINE EGLBoolean _eglCheckSurfaceHandle(EGLSurface surf, _EGLDisplay *dpy) { _EGLSurface *s = (_EGLSurface *) surf; - return (s && s->Display == dpy); + return (dpy && s && s->Display == dpy); } -- cgit v1.2.3