diff options
author | Brian Paul <brianp@vmware.com> | 2009-10-01 14:49:34 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-10-01 14:49:39 -0600 |
commit | b3e41e0d5e03b040768547293e05e6540d3c8e4d (patch) | |
tree | fececee7228652362cdbd8719615bd7c4016250c | |
parent | b154497bef386e5ed0d9a2f6e25a4141759c6846 (diff) |
st/mesa: check for null before asserts, fix possible mem leak
-rw-r--r-- | src/mesa/state_tracker/st_cb_fbo.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index fe0a121493..e8399ded7b 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -165,12 +165,12 @@ st_renderbuffer_alloc_storage(GLcontext * ctx, struct gl_renderbuffer *rb, strb->texture, 0, 0, 0, surface_usage ); - - assert(strb->surface->texture); - assert(strb->surface->format); - assert(strb->surface->width == width); - assert(strb->surface->height == height); - + if (strb->surface) { + assert(strb->surface->texture); + assert(strb->surface->format); + assert(strb->surface->width == width); + assert(strb->surface->height == height); + } return strb->surface != NULL; } @@ -298,6 +298,7 @@ st_new_renderbuffer_fb(enum pipe_format format, int samples, boolean sw) default: _mesa_problem(NULL, "Unexpected format in st_new_renderbuffer_fb"); + _mesa_free(strb); return NULL; } |