From: Brian Paul Date: Mon, 14 Nov 2011 15:27:13 +0000 (-0700) Subject: st/mesa: check for missing VBO in setup_interleaved_attribs() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d0836eda5e7d8e9093c1975ef545e3b3deb287a1;p=mesa.git 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 --- diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index f2fbf483694..cb518e1afb3 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; }