From c11498df9d78a8d2a7166c8f7ffa5c9ec27a54fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sat, 25 Apr 2015 21:28:22 -0300 Subject: [PATCH 1/3] (RPNG) Actually free zlib stream --- libretro-common/formats/png/rpng_fbio.c | 3 +++ libretro-common/formats/png/rpng_nbio.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/libretro-common/formats/png/rpng_fbio.c b/libretro-common/formats/png/rpng_fbio.c index d188bbc502..0ee7e69637 100644 --- a/libretro-common/formats/png/rpng_fbio.c +++ b/libretro-common/formats/png/rpng_fbio.c @@ -282,6 +282,9 @@ end: free(rpng.process.inflate_buf); if (rpng.process.stream) + { zlib_stream_free(rpng.process.stream); + free(rpng.process.stream); + } return ret; } diff --git a/libretro-common/formats/png/rpng_nbio.c b/libretro-common/formats/png/rpng_nbio.c index 19d1c52712..a87c30c9c8 100644 --- a/libretro-common/formats/png/rpng_nbio.c +++ b/libretro-common/formats/png/rpng_nbio.c @@ -222,7 +222,10 @@ void rpng_nbio_load_image_free(struct rpng_t *rpng) if (rpng->process.inflate_buf) free(rpng->process.inflate_buf); if (rpng->process.stream) + { zlib_stream_free(rpng->process.stream); + free(rpng->process.stream); + } if (rpng) free(rpng); From 03d13c6fa74316ac131b81df506695e293527e10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sat, 25 Apr 2015 21:32:42 -0300 Subject: [PATCH 2/3] (RPNG) Always free the temp chunk on PNG_CHUNK_IHDR --- libretro-common/formats/png/rpng_fbio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libretro-common/formats/png/rpng_fbio.c b/libretro-common/formats/png/rpng_fbio.c index 0ee7e69637..6433a00045 100644 --- a/libretro-common/formats/png/rpng_fbio.c +++ b/libretro-common/formats/png/rpng_fbio.c @@ -175,6 +175,7 @@ bool rpng_load_image_argb_iterate(FILE **fd, struct rpng_t *rpng) return false; } + png_free_chunk(&chunk); rpng->has_ihdr = true; break; From 2309fea4066c7886808feefb34a6e90fb5d112f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Higor=20Eur=C3=ADpedes?= Date: Sat, 25 Apr 2015 21:36:47 -0300 Subject: [PATCH 3/3] (Core Info) Free info->core_name too --- core_info.c | 1 + 1 file changed, 1 insertion(+) diff --git a/core_info.c b/core_info.c index 50ee0a7616..9c649f2730 100644 --- a/core_info.c +++ b/core_info.c @@ -239,6 +239,7 @@ void core_info_list_free(core_info_list_t *core_info_list) continue; free(info->path); + free(info->core_name); free(info->systemname); free(info->system_manufacturer); free(info->display_name);