From 0ee124582c8f2b60cb71ab2537811dd0aad2fcc3 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 2 Feb 2018 21:53:58 +0100 Subject: [PATCH] Silence another Coverity warning --- tasks/task_database.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/tasks/task_database.c b/tasks/task_database.c index d792548a27..d1cda3293f 100644 --- a/tasks/task_database.c +++ b/tasks/task_database.c @@ -1137,28 +1137,32 @@ static void task_database_handler(retro_task_t *task) if (!string_is_empty(db->fullpath)) dirname = find_last_slash(db->fullpath) + 1; - for (i = 0; i < dbstate->list->size; i++) + if (!string_is_empty(dirname)) { - char *dbname; - char *dbpath = strdup(dbstate->list->elems[i].data); - path_remove_extension(dbpath); - - dbname = find_last_slash(dbpath) + 1; - - if (strcasecmp(dbname, dirname) == 0) - { - struct string_list *single_list = NULL; - free(dbpath); - single_list = string_list_new(); - string_list_append(single_list, dbstate->list->elems[i].data, - dbstate->list->elems[i].attr); - dir_list_free(dbstate->list); - dbstate->list = single_list; - break; - } - else + for (i = 0; i < dbstate->list->size; i++) { + const char *data = dbstate->list->elems[i].data; + char *dbname = NULL; + bool strmatch = false; + char *dbpath = strdup(data); + + path_remove_extension(dbpath); + + dbname = find_last_slash(dbpath) + 1; + strmatch = strcasecmp(dbname, dirname) == 0; + free(dbpath); + + if (strmatch) + { + struct string_list *single_list = string_list_new(); + string_list_append(single_list, + data, + dbstate->list->elems[i].attr); + dir_list_free(dbstate->list); + dbstate->list = single_list; + break; + } } } }