Mesa (master): egl: don' t NULL deref the .get_capabilities function pointer
Emil Velikov
evelikov at kemper.freedesktop.org
Sat Aug 26 10:27:24 UTC 2017
Module: Mesa
Branch: master
Commit: f0d053cb6dda908d554d84629bd98e05d383a8f6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0d053cb6dda908d554d84629bd98e05d383a8f6
Author: Emil Velikov <emil.velikov at collabora.com>
Date: Mon Aug 7 17:23:19 2017 +0100
egl: don't NULL deref the .get_capabilities function pointer
One could easily introduce version 3 of the DRI2fenceExtension,
extending the struct, while not implementing the above function.
Thus we'll end up with NULL pointer, and dereferencing it won't fare
too well.
Fixes: 0201f01dc4e ("egl: add EGL_ANDROID_native_fence_sync")
Cc: Rob Clark <robclark at freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Tapani Pälli <tapani.palli at intel.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 aa6f02a34b..83545bab22 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -677,7 +677,8 @@ dri2_setup_screen(_EGLDisplay *disp)
disp->Extensions.KHR_wait_sync = EGL_TRUE;
if (dri2_dpy->fence->get_fence_from_cl_event)
disp->Extensions.KHR_cl_event2 = EGL_TRUE;
- if (dri2_dpy->fence->base.version >= 2) {
+ if (dri2_dpy->fence->base.version >= 2 &&
+ dri2_dpy->fence->get_capabilities) {
unsigned capabilities =
dri2_dpy->fence->get_capabilities(dri2_dpy->dri_screen);
disp->Extensions.ANDROID_native_fence_sync =
More information about the mesa-commit
mailing list