From ed4a91bcc1d68c26cd533c4432f93c799b1771c2 Mon Sep 17 00:00:00 2001 From: "@syxhe" Date: Thu, 17 Apr 2025 15:36:28 -0500 Subject: Slight improvement to scandirlist function to properly free memory on error --- src/scanner.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/scanner.c') diff --git a/src/scanner.c b/src/scanner.c index 7c65df4..1c4d2b1 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -22,6 +22,10 @@ dlinkedlist * scandirlist(const char * const dir, int (*selector)(const struct d for(int i = 0; i < numentries; i++) if(dlinkedlist_append(list, (void *)(namelist[i]), free) < 0) { dlinkedlist_free(list); + for(int j = i; j < numentries; j++) + free(namelist[j]); + + free(namelist); RETURNWERR(errno, NULL); } free(namelist); -- cgit v1.2.3