From ac732ecdb047ab26b1790446886a2ac28522cfb6 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 20 Sep 2017 12:13:44 +0200 Subject: [PATCH] Fix memory leak --- tasks/task_database.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tasks/task_database.c b/tasks/task_database.c index 2231cd949a..36200b281e 100644 --- a/tasks/task_database.c +++ b/tasks/task_database.c @@ -525,16 +525,14 @@ static void cue_prune(database_info_handle_t *db, const char *name) size_t i; if (!fd) - { - free(path); - return; - } + goto end; while (cue_next_file(fd, name, path, PATH_MAX_LENGTH)) { for (i = db->list_ptr; i < db->list->size; ++i) { - if (db->list->elems[i].data && !strcmp(path, db->list->elems[i].data)) + if (db->list->elems[i].data + && !strcmp(path, db->list->elems[i].data)) { RARCH_LOG("Pruning file referenced by cue: %s\n", path); free(db->list->elems[i].data); @@ -542,6 +540,9 @@ static void cue_prune(database_info_handle_t *db, const char *name) } } } + +end: + free(path); } static void gdi_prune(database_info_handle_t *db, const char *name)