mirror of
https://github.com/troglobit/libite.git
synced 2026-10-01 13:32:42 +07:00
libite: Fix memory leak in dir()
Signed-off-by: Mattias Walström <lazzer@gmail.com> Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
committed by
Joachim Nilsson
parent
ddf5ecc907
commit
cd63f8a73d
@@ -94,7 +94,7 @@ int dir(const char *dir, const char *type, int (*filter) (const char *file), cha
|
||||
n = scandir(dir, &namelist, matcher, alphasort);
|
||||
if (n < 0) {
|
||||
perror("scandir");
|
||||
} else {
|
||||
} else if (n > 0) {
|
||||
files = (char **)malloc(n * sizeof(char *));
|
||||
for (i = 0; i < n; i++) {
|
||||
if (files) {
|
||||
@@ -109,11 +109,12 @@ int dir(const char *dir, const char *type, int (*filter) (const char *file), cha
|
||||
}
|
||||
free(namelist[i]);
|
||||
}
|
||||
free(namelist);
|
||||
if (num)
|
||||
*list = files;
|
||||
}
|
||||
|
||||
if (num)
|
||||
*list = files;
|
||||
if (namelist)
|
||||
free(namelist);
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user