diff --git a/core_info.c b/core_info.c index 18b926a568..e3d7e5f690 100644 --- a/core_info.c +++ b/core_info.c @@ -714,11 +714,11 @@ bool core_info_get_display_name(const char *path, char *s, size_t len) config_get_string(conf, "display_name", &display_name); - config_file_free(conf); - if (!core_name || !display_name) goto error; + config_file_free(conf); + snprintf(s, len,"%s",display_name); free(core_name); diff --git a/libretro-db/libretrodb.c b/libretro-db/libretrodb.c index fb94bb08e9..e775c11a1c 100644 --- a/libretro-db/libretrodb.c +++ b/libretro-db/libretrodb.c @@ -557,7 +557,6 @@ int libretrodb_create_index(libretrodb_t *db, nictx.db = db; nictx.idx = &idx; bintree_iterate(tree, node_iter, &nictx); - bintree_free(tree); clean: rmsgpack_dom_value_free(&item); diff --git a/tasks/task_database_cue.c b/tasks/task_database_cue.c index 4bc0749a1a..347c7def10 100644 --- a/tasks/task_database_cue.c +++ b/tasks/task_database_cue.c @@ -180,7 +180,10 @@ static int detect_ps1_game_sub(const char *track_path, while (tmp < (buffer + 2048 * 2)) { if (!*tmp) + { + filestream_close(fp); return 0; + } if (!strncasecmp((const char*)(tmp + 33), "SYSTEM.CNF;1", 12)) break; diff --git a/tasks/task_save_state.c b/tasks/task_save_state.c index 4c355797fb..e732f667de 100644 --- a/tasks/task_save_state.c +++ b/tasks/task_save_state.c @@ -195,11 +195,12 @@ bool content_load_state(const char *path) for (i = 0; i < num_blocks; i++) free(blocks[i].data); free(blocks); - free(buf); if (!ret) goto error; + free(buf); + return true; error: