[PATCH] Free the results of scandir()

Dmitry Kurochkin dmitry.kurochkin at gmail.com
Tue Feb 7 02:10:52 PST 2012


On Tue,  7 Feb 2012 05:05:03 -0500, Ethan Glasser-Camp <glasse at cs.rpi.edu> wrote:
> From: Ethan Glasser-Camp <ethan at betacantrips.com>
> 
> 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.
> ---
> 
> v3: I'm still learning the house style. Thanks Dmitry.
> 

Looks good.

Please use --subject-prefix='PATCH vN' parameter when sending new
versions of patches.  Also, sending new versions as replies to the first
email in the original thread makes it easier to track.

Regards,
  Dmitry

>  notmuch-new.c |   16 ++++++++++------
>  1 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/notmuch-new.c b/notmuch-new.c
> index a569a54..8dbebb3 100644
> --- a/notmuch-new.c
> +++ b/notmuch-new.c
> @@ -559,12 +559,14 @@ add_files_recursive (notmuch_database_t *notmuch,
>    DONE:
>      if (next)
>  	talloc_free (next);
> -    if (entry)
> -	free (entry);
>      if (dir)
>  	closedir (dir);
> -    if (fs_entries)
> +    if (fs_entries) {
> +	for (i = 0; i < num_fs_entries; i++)
> +	    free (fs_entries[i]);
> +
>  	free (fs_entries);
> +    }
>      if (db_subdirs)
>  	notmuch_filenames_destroy (db_subdirs);
>      if (db_files)
> @@ -704,10 +706,12 @@ count_files (const char *path, int *count)
>      }
>  
>    DONE:
> -    if (entry)
> -	free (entry);
> -    if (fs_entries)
> +    if (fs_entries) {
> +	for (i = 0; i < num_fs_entries; i++)
> +	    free (fs_entries[i]);
> +
>          free (fs_entries);
> +    }
>  }
>  
>  static void
> -- 
> 1.7.5.4
> 
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list