diff options
author | Vinson Lee <[email protected]> | 2009-10-28 17:59:49 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-10-28 17:59:49 -0600 |
commit | 96128fdf2f959e2b59eca8f234dc6f3adf7a553f (patch) | |
tree | c69ed0c0c9675d055d29e42a76914a94d1eba69e /src/mesa/main/texstore.c | |
parent | c0a61c8442af3cfa810098d34bf6a21d11a5d720 (diff) |
mesa: Fix memory leak if we run out of memory
Signed-off-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/main/texstore.c')
-rw-r--r-- | src/mesa/main/texstore.c | 6 |
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++) { |