Mesa (master): egl/dri: don' t crash when createImageFromRenderbuffer2 is NULL

Emil Velikov evelikov at kemper.freedesktop.org
Fri Oct 13 12:06:32 UTC 2017


Module: Mesa
Branch: master
Commit: 872a373bc829b7eb6d94063023934b3713185d75
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=872a373bc829b7eb6d94063023934b3713185d75

Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Tue Oct 10 18:50:13 2017 +0100

egl/dri: don't crash when createImageFromRenderbuffer2 is NULL

The __DRI_IMAGE version can be 17 or over, while the function pointer is
NULL. Guard for that instead of crashing.

Fixes: bad24395d91 ("egl/dri: use createImageFromRenderbuffer2 when
available")
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/egl/drivers/dri2/egl_dri2.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 5334384d2f..d5cdf32afa 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -1890,7 +1890,8 @@ dri2_create_image_khr_renderbuffer(_EGLDisplay *disp, _EGLContext *ctx,
       return EGL_NO_IMAGE_KHR;
    }
 
-   if (dri2_dpy->image->base.version >= 17) {
+   if (dri2_dpy->image->base.version >= 17 &&
+       dri2_dpy->image->createImageFromRenderbuffer2) {
       unsigned error = ~0;
 
       dri_image = dri2_dpy->image->createImageFromRenderbuffer2(




More information about the mesa-commit mailing list