diff --git a/libretro-common/formats/png/rpng_fbio.c b/libretro-common/formats/png/rpng_fbio.c index 81f4ee494a..d188bbc502 100644 --- a/libretro-common/formats/png/rpng_fbio.c +++ b/libretro-common/formats/png/rpng_fbio.c @@ -280,5 +280,8 @@ end: free(*data); free(rpng.idat_buf.data); free(rpng.process.inflate_buf); + + if (rpng.process.stream) + zlib_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 6ad2fd4475..19d1c52712 100644 --- a/libretro-common/formats/png/rpng_nbio.c +++ b/libretro-common/formats/png/rpng_nbio.c @@ -221,6 +221,8 @@ void rpng_nbio_load_image_free(struct rpng_t *rpng) free(rpng->idat_buf.data); if (rpng->process.inflate_buf) free(rpng->process.inflate_buf); + if (rpng->process.stream) + zlib_stream_free(rpng->process.stream); if (rpng) free(rpng); diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 472272419a..291c82c4a7 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1584,6 +1584,9 @@ static void xmb_free(void *data) if (!xmb) return; + free(xmb->menu_stack_old); + free(xmb->selection_buf_old); + gl_coord_array_free(&xmb->raster_block.carr); free(menu->userdata); @@ -1981,6 +1984,7 @@ static void xmb_context_destroy(void) unsigned i; xmb_handle_t *xmb = NULL; menu_handle_t *menu = menu_driver_get_ptr(); + driver_t *driver = driver_get_ptr(); if (!menu) return; @@ -2004,6 +2008,9 @@ static void xmb_context_destroy(void) glDeleteTextures(1, &node->icon); glDeleteTextures(1, &node->content_icon); } + + if (menu->font.buf) + driver->font_osd_driver->free(menu->font.buf); } static void xmb_toggle(bool menu_on) diff --git a/menu/menu.c b/menu/menu.c index 0d8d14f3e5..bae5b349b1 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -275,6 +275,8 @@ void menu_free(menu_handle_t *menu) if (global->core_info_current) free(global->core_info_current); + + free(menu); } void menu_apply_deferred_settings(void)