regexec: Fix off-by-one bug in weight comparison [BZ #23036]
commit7b2f4cedf044ea83f53f6b43a5bf6871eb9ce969
authorFlorian Weimer <fweimer@redhat.com>
Tue, 10 Jul 2018 09:18:26 +0000 (10 11:18 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 10 Jul 2018 09:18:26 +0000 (10 11:18 +0200)
tree4e579c9471bc1d2d1a799ba005023fc7a7f4440b
parent4fa34da6793c442255fc003cf659c85b197ab29a
regexec: Fix off-by-one bug in weight comparison [BZ #23036]

Each weight is prefixed by its length, and the length does not include
itself in the count.  This can be seen clearly from the find_idx
function in string/strxfrm_l.c, for example.  The old code behaved as if
the length itself counted, thus comparing an additional byte after the
weight, leading to spurious comparison failures and incorrect further
partitioning of character equivalence classes.
ChangeLog
posix/regexec.c