]> granicus.if.org Git - sudo/commitdiff
Don't try to syntax check an unrecognized Defaults value in visudo.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 28 Oct 2016 14:24:51 +0000 (08:24 -0600)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 28 Oct 2016 14:24:51 +0000 (08:24 -0600)
plugins/sudoers/defaults.c

index bab8343887563aceb6a565701eb6111b05d78ff0..cb6e16ff39502906e551c19eae129c1f6c18e45a 100644 (file)
@@ -717,13 +717,14 @@ check_defaults(int what, bool quiet)
            if (!quiet)
                sudo_warnx(U_("unknown defaults entry `%s'"), def->var);
            rc = false;
+       } else {
+           /* Don't actually set the defaults value, just checking. */
+           tmp = *cur;
+           memset(&tmp.sd_un, 0, sizeof(tmp.sd_un));
+           if (!set_default_entry(&tmp, def->val, def->op, quiet, false))
+               rc = false;
+           free_default(&tmp);
        }
-       /* Don't actually set the defaults value, just checking. */
-       tmp = *cur;
-       memset(&tmp.sd_un, 0, sizeof(tmp.sd_un));
-       if (!set_default_entry(&tmp, def->val, def->op, quiet, false))
-           rc = false;
-       free_default(&tmp);
     }
     debug_return_bool(rc);
 }