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);