From: Michel Dänzer Date: Fri, 25 Apr 2014 02:40:39 +0000 (+0900) Subject: st/mesa: Fix NULL pointer dereference for incomplete framebuffers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=136c437cea3ebc9541735bb40951128e1210f06b;p=mesa.git 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@lists.freedesktop.org Reviewed-by: Brian Paul --- diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index f573877dc04..706af7fd13d 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;