From: Todd C. Miller Date: Tue, 8 Nov 2016 19:58:28 +0000 (-0700) Subject: Zero out sd_un before calling parse_default() so we don't try X-Git-Tag: SUDO_1_8_19^2~57 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1d9b8ca32e1e9b2906500a671cc91768a79e7434;p=sudo Zero out sd_un before calling parse_default() so we don't try to free stack garbage in the ldap/sssd backends. --- diff --git a/plugins/sudoers/defaults.c b/plugins/sudoers/defaults.c index 22e566d4a..5bbbb3417 100644 --- a/plugins/sudoers/defaults.c +++ b/plugins/sudoers/defaults.c @@ -349,6 +349,7 @@ set_default(const char *var, const char *val, int op, const char *file, int idx; debug_decl(set_default, SUDOERS_DEBUG_DEFAULTS) + memset(&sd_un, 0, sizeof(sd_un)); idx = parse_default(var, val, op, &sd_un, file, lineno, quiet); if (idx != -1) { /* Set parsed value in sudo_defs_table and run callback (if any). */ @@ -372,6 +373,7 @@ set_early_default(const char *var, const char *val, int op, const char *file, int idx; debug_decl(set_early_default, SUDOERS_DEBUG_DEFAULTS) + memset(&sd_un, 0, sizeof(sd_un)); idx = parse_default(var, val, op, &sd_un, file, lineno, quiet); if (idx != -1) { /* Set parsed value in sudo_defs_table. */