Re: [PATCH 1/2] cli/config: allocate config using talloc_zero

2017-01-07 Thread David Bremner
Jani Nikula  writes:

> Do not initialize each field separately. It's more robust to allocate
> the config with zero initialization, and only set the non-zero
> defaults individually.

Series pushed to master.
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


[PATCH 1/2] cli/config: allocate config using talloc_zero

2016-12-17 Thread Jani Nikula
Do not initialize each field separately. It's more robust to allocate
the config with zero initialization, and only set the non-zero
defaults individually.
---
 notmuch-config.c | 20 
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/notmuch-config.c b/notmuch-config.c
index cdb4088d1535..6d50be4c3150 100644
--- a/notmuch-config.c
+++ b/notmuch-config.c
@@ -334,7 +334,7 @@ notmuch_config_open (void *ctx,
 int file_had_search_group;
 int file_had_crypto_group;
 
-notmuch_config_t *config = talloc (ctx, notmuch_config_t);
+notmuch_config_t *config = talloc_zero (ctx, notmuch_config_t);
 if (config == NULL) {
fprintf (stderr, "Out of memory.\n");
return NULL;
@@ -342,6 +342,9 @@ notmuch_config_open (void *ctx,
 
 talloc_set_destructor (config, notmuch_config_destructor);
 
+/* non-zero defaults */
+config->maildir_synchronize_flags = TRUE;
+
 if (filename) {
config->filename = talloc_strdup (config, filename);
 } else if ((notmuch_config_env = getenv ("NOTMUCH_CONFIG"))) {
@@ -353,21 +356,6 @@ notmuch_config_open (void *ctx,
 
 config->key_file = g_key_file_new ();
 
-config->is_new = FALSE;
-config->database_path = NULL;
-config->user_name = NULL;
-config->user_primary_email = NULL;
-config->user_other_email = NULL;
-config->user_other_email_length = 0;
-config->new_tags = NULL;
-config->new_tags_length = 0;
-config->new_ignore = NULL;
-config->new_ignore_length = 0;
-config->maildir_synchronize_flags = TRUE;
-config->search_exclude_tags = NULL;
-config->search_exclude_tags_length = 0;
-config->crypto_gpg_path = NULL;
-
 if (! get_config_from_file (config, create_new)) {
talloc_free (config);
return NULL;
-- 
2.10.2

___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch