From: Tomi Ollila Date: Thu, 7 Aug 2014 15:19:50 +0000 (+0300) Subject: notmuch-config: talloc_strdup MAILDIR and NAME environment variables X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=748798511d7cb704ee7f9ce98cfbf87ebc41ab0f;p=notmuch.git notmuch-config: talloc_strdup MAILDIR and NAME environment variables When defined -- the pointer is soon given to talloc_free() which expects it to be allocated by talloc. --- diff --git a/notmuch-config.c b/notmuch-config.c index 88831e27..db487dbe 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);