evas - png loader - fix leake in error case of pixels

fix CID 1403027

@fix
This commit is contained in:
Carsten Haitzler 2019-08-10 22:44:47 +01:00
parent 61be4f02bf
commit e0f0165220
1 changed files with 3 additions and 0 deletions

View File

@ -400,6 +400,7 @@ evas_image_load_file_head_with_data_png(void *loader_data,
if (nine_patch && pack_offset != sizeof (DATA32)) if (nine_patch && pack_offset != sizeof (DATA32))
{ {
*error = EVAS_LOAD_ERROR_CORRUPT_FILE; *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
free(pixels2);
goto close_file; goto close_file;
} }
@ -502,12 +503,14 @@ evas_image_load_file_head_with_data_png(void *loader_data,
if (prop->content.x == 0 || prop->content.y == 0) if (prop->content.x == 0 || prop->content.y == 0)
{ {
*error = EVAS_LOAD_ERROR_CORRUPT_FILE; *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
free(pixels2);
goto close_file; goto close_file;
} }
if ((prop->content.x + prop->content.w >= image_w - 1) && if ((prop->content.x + prop->content.w >= image_w - 1) &&
(prop->content.y + prop->content.h >= image_h - 1)) (prop->content.y + prop->content.h >= image_h - 1))
{ {
*error = EVAS_LOAD_ERROR_CORRUPT_FILE; *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
free(pixels2);
goto close_file; goto close_file;
} }