Restore old behavior where visudo prevents you from making the main

sudoers file zero length.
This commit is contained in:
Todd C. Miller
2015-05-27 13:34:28 -06:00
parent 9d1c408b73
commit 21f5753b7d

View File

@@ -451,11 +451,13 @@ edit_sudoers(struct sudoersfile *sp, char *editor, char *args, int lineno)
goto done; goto done;
} }
if (sb.st_size == 0 && orig_size != 0) { if (sb.st_size == 0 && orig_size != 0) {
/* Avoid accidental zeroing of main sudoers file. */
if (sp == TAILQ_FIRST(&sudoerslist)) {
sudo_warnx(U_("zero length temporary file (%s), %s unchanged"), sudo_warnx(U_("zero length temporary file (%s), %s unchanged"),
sp->tpath, sp->path); sp->tpath, sp->path);
sp->modified = true;
goto done; goto done;
} }
}
} else { } else {
sudo_warnx(U_("editor (%s) failed, %s unchanged"), editor, sp->path); sudo_warnx(U_("editor (%s) failed, %s unchanged"), editor, sp->path);
goto done; goto done;