This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] regexec: Fix off-by-one bug in weight comparison [BZ #23036]
On 07/11/2018 12:20 PM, Dmitry V. Levin wrote:
> On Wed, Jul 11, 2018 at 04:43:41PM +0200, Florian Weimer wrote:
>> 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.
>>
>> (cherry picked from commit 7b2f4cedf044ea83f53f6b43a5bf6871eb9ce969)
>>
>> 2018-07-10 Florian Weimer <fweimer@redhat.com>
>>
>> [BZ #23036]
>> * posix/regexec.c (check_node_accept_bytes): When comparing
>> weights, do not compare an extra byte after the end of the
>> weights.
>>
>> diff --git a/NEWS b/NEWS
>> index 2e7e7837ac..c5c78ffd3b 100644
>> --- a/NEWS
>> +++ b/NEWS
>> @@ -69,6 +69,7 @@ The following bugs are resolved with this release:
>> [22947] FAIL: misc/tst-preadvwritev2
>> [22963] cs_CZ: Add alternative month names
>> [23005] Crash in __res_context_send after memory allocation failure
>> + [23036] regexec: Fix off-by-one bug in weight comparison
>> [23037] initialize msg_flags to zero for sendmmsg() calls
>> [23069] sigaction broken on riscv64-linux-gnu
>> [23102] Incorrect parsing of consecutive $ variables in runpath entries
>
> Thanks for backporting this to 2.27.
+1! :-)
--
Cheers,
Carlos.