summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_draw.c
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-04-24 16:40:08 -0600
committerBrian Paul <[email protected]>2008-04-24 16:40:08 -0600
commitb4c7a48d5c9ed2f9535a17d6c05cd55178c7880a (patch)
tree8bfedb2575c8d513e8563907bd7b9ddd0e327e5a /src/mesa/state_tracker/st_draw.c
parent2926e59e4ad604dedcb639b2961937841afcf005 (diff)
gallium: fix an edgeflags crash
Diffstat (limited to 'src/mesa/state_tracker/st_draw.c')
-rw-r--r--src/mesa/state_tracker/st_draw.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c
index 097166f4446..e40eeddff55 100644
--- a/src/mesa/state_tracker/st_draw.c
+++ b/src/mesa/state_tracker/st_draw.c
@@ -208,10 +208,14 @@ setup_edgeflags(GLcontext *ctx, GLenum primMode, GLint start, GLint count,
ctx->Polygon.BackMode != GL_FILL)) {
/* need edge flags */
GLuint i;
- unsigned *vec = (unsigned *) calloc(sizeof(unsigned), (count + 31) / 32);
+ unsigned *vec;
struct st_buffer_object *stobj = st_buffer_object(array->BufferObj);
ubyte *map;
+ if (!stobj)
+ return NULL;
+
+ vec = (unsigned *) calloc(sizeof(unsigned), (count + 31) / 32);
if (!vec)
return NULL;