mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
Free the results of scandir()
scandir() returns "strings allocated via malloc(3)" which are then "collected in array namelist which is allocated via malloc(3)". Currently we just free the array namelist. Instead, free all the entries of namelist, and then free namelist. entry only points to elements of namelist, so we don't free it separately.
This commit is contained in:
parent
d8bff4b3af
commit
5f39979a4a
1 changed files with 10 additions and 6 deletions
|
@ -559,12 +559,14 @@ add_files_recursive (notmuch_database_t *notmuch,
|
||||||
DONE:
|
DONE:
|
||||||
if (next)
|
if (next)
|
||||||
talloc_free (next);
|
talloc_free (next);
|
||||||
if (entry)
|
|
||||||
free (entry);
|
|
||||||
if (dir)
|
if (dir)
|
||||||
closedir (dir);
|
closedir (dir);
|
||||||
if (fs_entries)
|
if (fs_entries) {
|
||||||
|
for (i = 0; i < num_fs_entries; i++)
|
||||||
|
free (fs_entries[i]);
|
||||||
|
|
||||||
free (fs_entries);
|
free (fs_entries);
|
||||||
|
}
|
||||||
if (db_subdirs)
|
if (db_subdirs)
|
||||||
notmuch_filenames_destroy (db_subdirs);
|
notmuch_filenames_destroy (db_subdirs);
|
||||||
if (db_files)
|
if (db_files)
|
||||||
|
@ -704,10 +706,12 @@ count_files (const char *path, int *count)
|
||||||
}
|
}
|
||||||
|
|
||||||
DONE:
|
DONE:
|
||||||
if (entry)
|
if (fs_entries) {
|
||||||
free (entry);
|
for (i = 0; i < num_fs_entries; i++)
|
||||||
if (fs_entries)
|
free (fs_entries[i]);
|
||||||
|
|
||||||
free (fs_entries);
|
free (fs_entries);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue