diff --git a/libretro-common/compat/fopen_utf8.c b/libretro-common/compat/fopen_utf8.c index 65fa4c9dc8..abd50cf275 100644 --- a/libretro-common/compat/fopen_utf8.c +++ b/libretro-common/compat/fopen_utf8.c @@ -22,7 +22,8 @@ FILE* fopen_utf8(const char * filename, const char * mode) if (!filename_local) return NULL; ret = fopen(filename_local, mode); - free(filename_local); + if (filename_local) + free(filename_local); return ret; #else wchar_t * filename_w = utf8_to_utf16_string_alloc(filename); diff --git a/libretro-common/formats/png/rpng.c b/libretro-common/formats/png/rpng.c index c316ea28f0..b9010c1320 100644 --- a/libretro-common/formats/png/rpng.c +++ b/libretro-common/formats/png/rpng.c @@ -1220,7 +1220,7 @@ bool rpng_set_buf_ptr(rpng_t *rpng, void *data) rpng_t *rpng_alloc(void) { - rpng_t *rpng = (rpng_t*)calloc(1, sizeof(rpng_t)); + rpng_t *rpng = (rpng_t*)calloc(1, sizeof(*rpng)); if (!rpng) return NULL; return rpng; diff --git a/libretro-common/streams/trans_stream_zlib.c b/libretro-common/streams/trans_stream_zlib.c index d37e6b9713..ec350119ca 100644 --- a/libretro-common/streams/trans_stream_zlib.c +++ b/libretro-common/streams/trans_stream_zlib.c @@ -69,7 +69,8 @@ static void zlib_inflate_stream_free(void *data) return; if (z->inited) inflateEnd(&z->z); - free(z); + if (z) + free(z); } static bool zlib_deflate_define(void *data, const char *prop, uint32_t val) diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 54d8d784b8..03cd69a6f4 100755 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -3893,7 +3893,8 @@ static void xmb_context_reset(void *data, bool is_threaded) xmb_update_thumbnail_image(xmb); xmb_update_savestate_thumbnail_image(xmb); - free(iconpath); + if (iconpath) + free(iconpath); } }