[Mesa-dev] [PATCH] egl: Fix crashes in eglCreate*Surface()

Mark Janes mark.a.janes at intel.com
Tue Dec 13 23:15:56 UTC 2016


Reviewed-by: Mark Janes <mark.a.janes at intel.com>

Chad Versace <chadversary at chromium.org> writes:

> Don't dereference a null EGLDisplay.
>
> Fixes tests
>   dEQP-EGL.functional.negative_api.create_pbuffer_surface
>   dEQP-EGL.functional.negative_api.create_pixmap_surface
>
> Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99038
> ---
>  src/egl/main/eglapi.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
> index 33d562042f..a349992c46 100644
> --- a/src/egl/main/eglapi.c
> +++ b/src/egl/main/eglapi.c
> @@ -856,7 +856,7 @@ _eglCreateWindowSurfaceCommon(_EGLDisplay *disp, EGLConfig config,
>        RETURN_EGL_ERROR(disp, EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE);
>  
>  #ifdef HAVE_SURFACELESS_PLATFORM
> -   if (disp->Platform == _EGL_PLATFORM_SURFACELESS) {
> +   if (disp && disp->Platform == _EGL_PLATFORM_SURFACELESS) {
>        /* From the EGL_MESA_platform_surfaceless spec (v1):
>         *
>         *    eglCreatePlatformWindowSurface fails when called with a <display>
> @@ -977,7 +977,7 @@ _eglCreatePixmapSurfaceCommon(_EGLDisplay *disp, EGLConfig config,
>     EGLSurface ret;
>  
>  #if HAVE_SURFACELESS_PLATFORM
> -   if (disp->Platform == _EGL_PLATFORM_SURFACELESS) {
> +   if (disp && disp->Platform == _EGL_PLATFORM_SURFACELESS) {
>        /* From the EGL_MESA_platform_surfaceless spec (v1):
>         *
>         *   [Like eglCreatePlatformWindowSurface,] eglCreatePlatformPixmapSurface
> -- 
> 2.11.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list