diff -up sudo-1.7.2p1/match.c.negation sudo-1.7.2p1/match.c --- sudo-1.7.2p1/match.c.negation 2009-12-01 00:10:58.000000000 +0100 +++ sudo-1.7.2p1/match.c 2009-12-01 00:11:05.000000000 +0100 @@ -318,14 +318,12 @@ _cmndlist_matches(list) struct member_list *list; { struct member *m; - int rval, matched = UNSPEC; + int matched = UNSPEC; tq_foreach_rev(list, m) { - rval = cmnd_matches(m); - if (rval != UNSPEC) { - matched = m->negated ? !rval : rval; + matched = cmnd_matches(m); + if (matched != UNSPEC) break; - } } return(matched); }