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); diff --git a/libretro-common/formats/png/rpng_fbio.c b/libretro-common/formats/png/rpng_fbio.c index d188bbc502..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; @@ -282,6 +283,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);