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