From 50c3f30d610ed9979a1291422e8641e05f881212 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Tue, 5 Nov 2019 14:20:46 +0100
Subject: [PATCH] warnquota: Initialize all members of a configparams structure
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Running warnquota under valgrind reported many "Conditional jump or
move depends on uninitialised value" mistakes because readconfigfile()
did not initizalize ldap_bindpw member if some of the configuration
options were missing from the configuration file.
This patch simply initializes all bytes of the configparams structure
to 0 instead of settting each of the members explicitly.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
warnquota.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/warnquota.c b/warnquota.c
index f6b42d5..2882fee 100644
--- a/warnquota.c
+++ b/warnquota.c
@@ -759,13 +759,13 @@ static int readconfigfile(const char *filename, struct configparams *config)
char *locale;
/* set default values */
+ memset(config, 0, sizeof(*config));
sstrncpy(config->mail_cmd, MAIL_CMD, CNF_BUFFER);
sstrncpy(config->from, FROM, CNF_BUFFER);
sstrncpy(config->subject, SUBJECT, CNF_BUFFER);
sstrncpy(config->cc_to, CC_TO, CNF_BUFFER);
sstrncpy(config->support, SUPPORT, CNF_BUFFER);
sstrncpy(config->phone, PHONE, CNF_BUFFER);
- (config->charset)[0] = '\0';
setlocale(LC_ALL, NULL);
locale = setlocale(LC_MESSAGES, NULL);
#ifdef HAVE_NL_LANGINFO
@@ -775,17 +775,11 @@ static int readconfigfile(const char *filename, struct configparams *config)
}
#endif
maildev[0] = 0;
- config->user_signature = config->user_message = config->group_signature = config->group_message = NULL;
config->cc_before = -1;
#ifdef USE_LDAP_MAIL_LOOKUP
- config->use_ldap_mail = 0;
- config->ldap_starttls = 0;
config->ldap_tls = LDAP_OPT_X_TLS_NEVER;
config->ldap_vers = LDAP_VERSION3;
- config->ldap_port = config->ldap_is_setup = 0;
- config->ldap_host[0] = 0;
- config->ldap_uri[0] = 0;
#endif
if (!(fp = fopen(filename, "r"))) {
--
2.21.0