]> granicus.if.org Git - sudo/commitdiff
Zero out sd_un before calling parse_default() so we don't try
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 8 Nov 2016 19:58:28 +0000 (12:58 -0700)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 8 Nov 2016 19:58:28 +0000 (12:58 -0700)
to free stack garbage in the ldap/sssd backends.

plugins/sudoers/defaults.c

index 22e566d4ac3a8ace39d03de64c457e92a7dc9248..5bbbb34178c30be0b762a658be7d7823b081ca8b 100644 (file)
@@ -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. */