Mercurial > hg > dmlib
changeset 858:e7019bd83cca
Fix potential longjmp clobbering of variable.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 21 Nov 2014 17:37:25 +0200 |
parents | 16aa5955dfb5 |
children | 55a3d6db20ac |
files | src/libgfx.c |
diffstat | 1 files changed, 3 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/libgfx.c Fri Nov 21 17:36:15 2014 +0200 +++ b/src/libgfx.c Fri Nov 21 17:37:25 2014 +0200 @@ -369,7 +369,6 @@ { png_structp png_ptr = NULL; png_infop info_ptr = NULL; - png_colorp palette = NULL; int fmt, res = DMERR_OK; // Create PNG structures @@ -431,8 +430,8 @@ if (spec->format == DM_IFMT_PALETTE) { int i; + png_colorp palette = png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH * sizeof(png_color)); - palette = png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH * sizeof(png_color)); if (palette == NULL) { dmError("PNG: Could not allocate palette structure."); @@ -464,8 +463,8 @@ png_write_end(png_ptr, NULL); error: - png_free(png_ptr, palette); - palette = NULL; + if (info_ptr->palette) + png_free(png_ptr, info_ptr->palette); if (png_ptr && info_ptr) png_destroy_write_struct(&png_ptr, &info_ptr);