Mesa (master): vbo: fix crash found with shared display lists

Brian Paul brianp at kemper.freedesktop.org
Thu Mar 7 15:09:40 UTC 2013


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

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Mar  6 12:08:17 2013 -0700

vbo: fix crash found with shared display lists

This fixes a crash when a display list is created in one context
but executed from a second one.  The vbo_save_context::vertex_store
memeber will be NULL if we never created a display list with the
context.  Just check for that before dereferencing the pointer.

Fixes http://bugzilla.redhat.com/show_bug.cgi?id=918661

Note: This is a candidate for the stable branches.

---

 src/mesa/vbo/vbo_save_draw.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/vbo/vbo_save_draw.c b/src/mesa/vbo/vbo_save_draw.c
index efb386e..f5b5c41 100644
--- a/src/mesa/vbo/vbo_save_draw.c
+++ b/src/mesa/vbo/vbo_save_draw.c
@@ -253,7 +253,7 @@ vbo_save_playback_vertex_list(struct gl_context *ctx, void *data)
    struct vbo_save_context *save = &vbo_context(ctx)->save;
    GLboolean remap_vertex_store = GL_FALSE;
 
-   if (save->vertex_store->buffer) {
+   if (save->vertex_store && save->vertex_store->buffer) {
       /* The vertex store is currently mapped but we're about to replay
        * a display list.  This can happen when a nested display list is
        * being build with GL_COMPILE_AND_EXECUTE.




More information about the mesa-commit mailing list