summaryrefslogtreecommitdiffstats
path: root/progs/util
diff options
context:
space:
mode:
authorVinson Lee <vlee@vmware.com>2009-11-17 10:11:50 -0800
committerVinson Lee <vlee@vmware.com>2009-12-03 16:24:03 -0800
commitf1172c4030dd0952dfdecda059beb39b1224a8ae (patch)
tree700fcfa48aa3cb6dc82d8fc3c76e8c81f638c82d /progs/util
parent84de1672d3efbfc3b2ae51633b0e503f15e5d62d (diff)
downloadexternal_mesa3d-f1172c4030dd0952dfdecda059beb39b1224a8ae.zip
external_mesa3d-f1172c4030dd0952dfdecda059beb39b1224a8ae.tar.gz
external_mesa3d-f1172c4030dd0952dfdecda059beb39b1224a8ae.tar.bz2
progs/util: Fix memory leak if LoadRGBImage fails.
(cherry picked from commit 041cd0e110d41b543a0fe9cc484ae8373642912b)
Diffstat (limited to 'progs/util')
-rw-r--r--progs/util/readtex.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/progs/util/readtex.c b/progs/util/readtex.c
index 4e22bed..ec27e20 100644
--- a/progs/util/readtex.c
+++ b/progs/util/readtex.c
@@ -357,6 +357,7 @@ GLubyte *LoadRGBImage( const char *imageFile, GLint *width, GLint *height,
fprintf(stderr,
"Error in LoadRGBImage %d-component images not implemented\n",
image->components );
+ FreeImage(image);
return NULL;
}
@@ -365,8 +366,10 @@ GLubyte *LoadRGBImage( const char *imageFile, GLint *width, GLint *height,
bytes = image->sizeX * image->sizeY * image->components;
buffer = (GLubyte *) malloc(bytes);
- if (!buffer)
+ if (!buffer) {
+ FreeImage(image);
return NULL;
+ }
memcpy( (void *) buffer, (void *) image->data, bytes );