summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVinson Lee <vlee@vmware.com>2009-10-28 17:59:49 -0600
committerBrian Paul <brianp@vmware.com>2009-10-28 17:59:49 -0600
commit96128fdf2f959e2b59eca8f234dc6f3adf7a553f (patch)
treec69ed0c0c9675d055d29e42a76914a94d1eba69e
parentc0a61c8442af3cfa810098d34bf6a21d11a5d720 (diff)
mesa: Fix memory leak if we run out of memory
Signed-off-by: Brian Paul <brianp@vmware.com>
-rw-r--r--src/mesa/main/texstore.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index a22db628d3e..d3237959e0c 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -589,8 +589,12 @@ _mesa_make_temp_chan_image(GLcontext *ctx, GLuint dims,
/* unpack and transfer the source image */
tempImage = (GLchan *) _mesa_malloc(srcWidth * srcHeight * srcDepth
* components * sizeof(GLchan));
- if (!tempImage)
+ if (!tempImage) {
+ if (freeSrcImage) {
+ _mesa_free((void *) srcAddr);
+ }
return NULL;
+ }
dst = tempImage;
for (img = 0; img < srcDepth; img++) {