From bd931017c1843f9ae24ce082ab41c43cb57428e8 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Tue, 16 Mar 2021 09:37:19 -0400 Subject: main(): Check db_games_find() return value Fixes a bad free() if the games directory is empty or not found. --- (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 344cdad..268e42e 100644 --- a/src/main.c +++ b/src/main.c @@ -23,11 +23,13 @@ main(int argc, char *argv[]) } free(program_dir); n = db_games_find(games_dir, &games); - printf("%d games:\n", n); - for (i = 0; i < n; ++i) { - printf("\t%s\n", games[i]); - free(games[i]); + if (n > 0) { + printf("%d games:\n", n); + for (i = 0; i < n; ++i) { + printf("\t%s\n", games[i]); + free(games[i]); + } + free(games); } - free(games); return EXIT_SUCCESS; } -- cgit v0.9.1