Mesa (master): st/mesa: check for missing VBO in setup_interleaved_attribs( )

Brian Paul brianp at kemper.freedesktop.org
Tue Nov 15 14:55:25 UTC 2011


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

Author: Brian Paul <brianp at vmware.com>
Date:   Mon Nov 14 08:27:13 2011 -0700

st/mesa: check for missing VBO in setup_interleaved_attribs()

This fixes a crash with the piglit vbo-too-small test.

Reviewed-by: José Fonseca <jfonseca at vmware.com>

---

 src/mesa/state_tracker/st_draw.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
index f2fbf48..cb518e1 100644
--- a/src/mesa/state_tracker/st_draw.c
+++ b/src/mesa/state_tracker/st_draw.c
@@ -436,8 +436,8 @@ setup_interleaved_attribs(struct gl_context *ctx,
       /* all interleaved arrays in a VBO */
       struct st_buffer_object *stobj = st_buffer_object(bufobj);
 
-      if (!stobj) {
-         /* probably out of memory */
+      if (!stobj || !stobj->buffer) {
+         /* probably out of memory (or zero-sized buffer) */
          return GL_FALSE;
       }
 
@@ -505,7 +505,7 @@ setup_non_interleaved_attribs(struct gl_context *ctx,
          struct st_buffer_object *stobj = st_buffer_object(bufobj);
 
          if (!stobj || !stobj->buffer) {
-            /* probably ran out of memory */
+            /* probably out of memory (or zero-sized buffer) */
             return GL_FALSE;
          }
 




More information about the mesa-commit mailing list