Avoid processing invalid directive elements
authorJacob Bachmeyer <jcb@gnu.org>
Thu, 27 Oct 2022 03:46:47 +0000 (22:46 -0500)
committerJacob Bachmeyer <jcb@gnu.org>
Thu, 27 Oct 2022 03:46:47 +0000 (22:46 -0500)
commitdbdab4a777f59cfa16e4257796b539e2b87cb0ac
tree9236a18c864713b5d82eaa0f4beb0299babda028
parent1736b09e70f22f08ba467a964d20f4f098115a13
Avoid processing invalid directive elements

The old code simply abandoned the entire loop at the first error; this
meant that a "directory" element after an error would not be seen and was
fixed in commit 86b458910ddda2c227622cafa3c37b10682d0561.  That commit
allowed the values of the capture variables from the last successful match
to be reused if a later line did not match its filter pattern.

No exploit was possible, since an error was recorded and an exception would
be thrown instead of returning the corrupted operation list, but this had
side effects that caused failures in the testsuite that were traced to this
issue, now fixed.
gatekeeper.pl