Re: [PATCH] notmuch-config: talloc_strdup MAILDIR and NAME environment variables

Subject: Re: [PATCH] notmuch-config: talloc_strdup MAILDIR and NAME environment variables

Date: Thu, 7 Aug 2014 14:24:03 -0400

To: Tomi Ollila

Cc: notmuch@notmuchmail.org

From: Austin Clements


LGTM.

Quoth Tomi Ollila on Aug 07 at  6:19 pm:
> When defined -- the pointer is soon given to talloc_free() which
> expects it to be allocated by talloc.
> ---
>  notmuch-config.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/notmuch-config.c b/notmuch-config.c
> index 88831e2..db487db 100644
> --- a/notmuch-config.c
> +++ b/notmuch-config.c
> @@ -324,7 +324,9 @@ notmuch_config_open (void *ctx,
>  
>      if (notmuch_config_get_database_path (config) == NULL) {
>  	char *path = getenv ("MAILDIR");
> -	if (! path)
> +	if (path)
> +	    path = talloc_strdup (config, path);
> +	else
>  	    path = talloc_asprintf (config, "%s/mail",
>  				    getenv ("HOME"));
>  	notmuch_config_set_database_path (config, path);
> @@ -333,7 +335,9 @@ notmuch_config_open (void *ctx,
>  
>      if (notmuch_config_get_user_name (config) == NULL) {
>  	char *name = getenv ("NAME");
> -	if (! name)
> +	if (name)
> +	    name = talloc_strdup (config, name);
> +	else
>  	    name = get_name_from_passwd_file (config);
>  	notmuch_config_set_user_name (config, name);
>  	talloc_free (name);

Thread: