Added EGL display validity check
If the EGLDisplay input parameter to eglInitialize isn't
PRIMARY_DISPLAY or HEADLESS_DISPLAY, egl::Display::get()
will return null. Instead of crashing, we should return
an EGL_BAD_DISPLAY error.
Change-Id: Ie1e39f2807db5a38f8d21fd6e22270c02cbeba3a
Reviewed-on: https://swiftshader-review.googlesource.com/9813
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libEGL/libEGL.cpp b/src/OpenGL/libEGL/libEGL.cpp
index 3103abf..0d5f812 100644
--- a/src/OpenGL/libEGL/libEGL.cpp
+++ b/src/OpenGL/libEGL/libEGL.cpp
@@ -133,13 +133,13 @@
TRACE("(EGLDisplay dpy = %p, EGLint *major = %p, EGLint *minor = %p)",
dpy, major, minor);
- if(dpy == EGL_NO_DISPLAY)
+ egl::Display *display = egl::Display::get(dpy);
+
+ if(!display)
{
return error(EGL_BAD_DISPLAY, EGL_FALSE);
}
- egl::Display *display = egl::Display::get(dpy);
-
if(!display->initialize())
{
return error(EGL_NOT_INITIALIZED, EGL_FALSE);