diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_fbo.c | 1 | ||||
-rw-r--r-- | src/mesa/main/texstore.c | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index a0ceec6f7e1..f6622c0c998 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -385,6 +385,7 @@ intel_create_renderbuffer(GLenum intFormat) default: _mesa_problem(NULL, "Unexpected intFormat in intel_create_renderbuffer"); + _mesa_free(irb); return NULL; } diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index f553a898f9e..7da9e84b24a 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -587,8 +587,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++) { |