progs/util: Fix memory leak if LoadRGBImage fails.
(cherry picked from commit 041cd0e110
)
This commit is contained in:
@@ -357,6 +357,7 @@ GLubyte *LoadRGBImage( const char *imageFile, GLint *width, GLint *height,
|
|||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Error in LoadRGBImage %d-component images not implemented\n",
|
"Error in LoadRGBImage %d-component images not implemented\n",
|
||||||
image->components );
|
image->components );
|
||||||
|
FreeImage(image);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -365,8 +366,10 @@ GLubyte *LoadRGBImage( const char *imageFile, GLint *width, GLint *height,
|
|||||||
|
|
||||||
bytes = image->sizeX * image->sizeY * image->components;
|
bytes = image->sizeX * image->sizeY * image->components;
|
||||||
buffer = (GLubyte *) malloc(bytes);
|
buffer = (GLubyte *) malloc(bytes);
|
||||||
if (!buffer)
|
if (!buffer) {
|
||||||
|
FreeImage(image);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
memcpy( (void *) buffer, (void *) image->data, bytes );
|
memcpy( (void *) buffer, (void *) image->data, bytes );
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user