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

Tomi Ollila tomi.ollila at iki.fi
Thu Aug 7 08:19:50 PDT 2014


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);
-- 
1.9.3



More information about the notmuch mailing list