On 06/10/2016 05:30 AM, Amarnath Valluri wrote:
In case of malloc() failure memory allocated for both 'srcImage' and 'dstImage'
is leaked.
Signed-off-by: Amarnath Valluri <amarnath.vall...@intel.com>
---
src/libutil/mipmap.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/libutil/mipmap.c b/src/libutil/mipmap.c
index c475c96..1f718a6 100644
--- a/src/libutil/mipmap.c
+++ b/src/libutil/mipmap.c
@@ -4509,7 +4509,11 @@ static int gluBuild2DMipmapLevelsCore(GLenum target,
GLint internalFormat,
glPixelStorei(GL_UNPACK_SKIP_PIXELS, psm.unpack_skip_pixels);
glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
- return GLU_OUT_OF_MEMORY;
+ free(srcImage); /*if you get to here, a srcImage has always been
malloc'ed*/
+ if (dstImage) { /* if it's non-rectangular and only 1 level */
+ free(dstImage);
+ }
+ return GLU_OUT_OF_MEMORY;
}
/* copy image from srcImage into newMipmapImage by rows */
I'll push this patch with a few minor changes:
1. fix indentation to match surrounding code.
2. remove if-test around the second free(). free(NULL) is a no-op.
3. remove unneeded comments.
4. List the bug URL in the check-in comment.
Sound OK?
Thanks for the patch!
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev