From: Emil Velikov Date: Thu, 18 Jun 2015 19:39:28 +0000 (+0100) Subject: egl/x11: handle when invalid drawable is passed in create_surface X-Git-Tag: upstream/17.1.0~17958 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=af2aea40d29dffd5e584432e0652db114113469b;p=platform%2Fupstream%2Fmesa.git egl/x11: handle when invalid drawable is passed in create_surface 0 is not used as a valid drawable id, as such there is no point in attempting to query its geometry. Just bail out early and provide the more meaningful EGL_BAD_NATIVE_WINDOW to the user. Signed-off-by: Emil Velikov Reviewed-by: Marek Olšák --- diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 0fbf4e4..ad40bd5 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -235,6 +235,10 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type, dri2_surf->drawable, screen->root, dri2_surf->base.Width, dri2_surf->base.Height); } else { + if (!drawable) { + _eglError(EGL_BAD_NATIVE_WINDOW, "dri2_create_surface"); + goto cleanup_surf; + } dri2_surf->drawable = drawable; }