Mesa (master): egl: Check for NULL native_window in eglCreateWindowSurface
Ian Romanick
idr at kemper.freedesktop.org
Wed Jun 4 00:28:40 UTC 2014
Module: Mesa
Branch: master
Commit: 91ff0d4c6510dc38f279c586ced17fba917873e7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=91ff0d4c6510dc38f279c586ced17fba917873e7
Author: Sinclair Yeh <sinclair.yeh at intel.com>
Date: Tue Jun 3 14:00:13 2014 -0700
egl: Check for NULL native_window in eglCreateWindowSurface
We have customers using NULL as a way to test the robustness of the API.
Without this check, EGL will segfault trying to dereference
dri2_surf->wl_win->private because wl_win is NULL.
This fix adds a check and sets EGL_BAD_NATIVE_WINDOW
v2: Incorporated feedback from idr - moved the check to a higher level
function.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Cc: "10.1 10.2" <mesa-stable at lists.freedesktop.org>
---
src/egl/main/eglapi.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index 7846814..096c3d8 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -571,6 +571,10 @@ _eglCreateWindowSurfaceCommon(_EGLDisplay *disp, EGLConfig config,
EGLSurface ret;
_EGL_CHECK_CONFIG(disp, conf, EGL_NO_SURFACE, drv);
+
+ if (native_window == NULL)
+ RETURN_EGL_ERROR(disp, EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE);
+
surf = drv->API.CreateWindowSurface(drv, disp, conf, native_window,
attrib_list);
ret = (surf) ? _eglLinkSurface(surf) : EGL_NO_SURFACE;
More information about the mesa-commit
mailing list