summaryrefslogtreecommitdiff
path: root/src/scanner.c
diff options
context:
space:
mode:
author@syxhe <https://t.me/syxhe>2025-04-17 15:36:28 -0500
committer@syxhe <https://t.me/syxhe>2025-04-17 15:36:28 -0500
commited4a91bcc1d68c26cd533c4432f93c799b1771c2 (patch)
tree4df6d665ecc83706c9837d4a832b18fac505f229 /src/scanner.c
parent9d3c8770ec63fe3e02f82bdc244e63d701492322 (diff)
Slight improvement to scandirlist function to properly free memory on error
Diffstat (limited to 'src/scanner.c')
-rw-r--r--src/scanner.c4
1 files changed, 4 insertions, 0 deletions
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
22 for(int i = 0; i < numentries; i++) 22 for(int i = 0; i < numentries; i++)
23 if(dlinkedlist_append(list, (void *)(namelist[i]), free) < 0) { 23 if(dlinkedlist_append(list, (void *)(namelist[i]), free) < 0) {
24 dlinkedlist_free(list); 24 dlinkedlist_free(list);
25 for(int j = i; j < numentries; j++)
26 free(namelist[j]);
27
28 free(namelist);
25 RETURNWERR(errno, NULL); 29 RETURNWERR(errno, NULL);
26 } 30 }
27 free(namelist); 31 free(namelist);