Mesa (master): st/mesa: Fix NULL pointer dereference for incomplete framebuffers
Michel Dänzer
daenzer at kemper.freedesktop.org
Mon Apr 28 03:43:19 UTC 2014
Module: Mesa
Branch: master
Commit: 136c437cea3ebc9541735bb40951128e1210f06b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=136c437cea3ebc9541735bb40951128e1210f06b
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Fri Apr 25 11:40:39 2014 +0900
st/mesa: Fix NULL pointer dereference for incomplete framebuffers
This can happen with glamor, which uses EGL_KHR_surfaceless_context and
only explicitly binds GL_READ_FRAMEBUFFER for glReadPixels.
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Brian Paul <brianp at vmware.com>
---
src/mesa/state_tracker/st_manager.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
index f573877..706af7f 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -183,8 +183,13 @@ st_framebuffer_validate(struct st_framebuffer *stfb,
uint width, height;
unsigned i;
boolean changed = FALSE;
- int32_t new_stamp = p_atomic_read(&stfb->iface->stamp);
+ int32_t new_stamp;
+ /* Check for incomplete framebuffers (e.g. EGL_KHR_surfaceless_context) */
+ if (!stfb->iface)
+ return;
+
+ new_stamp = p_atomic_read(&stfb->iface->stamp);
if (stfb->iface_stamp == new_stamp)
return;
More information about the mesa-commit
mailing list