diff -up ./plugins/sudoers/visudo.c.fix ./plugins/sudoers/visudo.c --- ./plugins/sudoers/visudo.c.fix 2015-09-15 10:00:25.957642667 +0200 +++ ./plugins/sudoers/visudo.c 2015-09-15 12:37:43.478306234 +0200 @@ -479,6 +479,7 @@ reparse_sudoers(char *editor, char *args * Parse the edited sudoers files and do sanity checking */ do { + parse_error = NULL; sp = tq_first(&sudoerslist); last = tq_last(&sudoerslist); fp = fopen(sp->tpath, "r+"); @@ -544,7 +545,7 @@ reparse_sudoers(char *editor, char *args continue; edit_sudoers(sp, editor, args, errorlineno); } - } while (parse_error && sp != NULL); + } while (parse_error); debug_return; }