Hi Eric,

> Urgh: https://sourceware.org/ml/libc-alpha/2018-09/msg00152.html says 
> glibc has releases with a broken strstr, and I don't think gnulib's 
> module is catching this particular bug.

Thanks for the heads-up. I've added this testcase to gnulib (see below).

According to 'git annotate', the bug originated in glibc on 2018-07-16.
Therefore gnulib's code is fine.

As for the detection of the bug: I understand from
https://sourceware.org/ml/libc-alpha/2018-09/msg00118.html
that the bug may be present or absent, depending on the precise CPU
model glibc is running on. Therefore, the usual kind of configure
test won't do it. We need to test whether the glibc version is = 2.28.
Right?

> At the same time, we may want 
> to sync some of glibc's enhancements to strstr back into gnulib

Well, no. I disagree. It was just discovered that the people who
currently modify the strstr code in glibc are not producing reliable
code, and that the test coverage of this code is lacking:
https://sourceware.org/bugzilla/show_bug.cgi?id=23631
I would therefore better _wait_ until the glibc people have improved
their test suite and possibly found other bugs, before doing the
merge glibc -> gnulib.


2018-09-12  Bruno Haible  <[email protected]>

        Add test case from a recent glibc bug.
        * tests/test-strstr.c (main): Add test of long needle.
        * tests/test-strcasestr.c (main): Likewise.
        * tests/test-c-strstr.c (main): Likewise.
        * tests/test-c-strcasestr.c (main): Likewise.
        * tests/test-memmem.c (main): Likewise.

2018-09-12  Bruno Haible  <[email protected]>

        Apply Eric Blake's improvements from 2011-02-25 to more tests.
        * tests/test-c-strstr.c (main): Add the same tests here as well.

2018-09-12  Bruno Haible  <[email protected]>

        Apply Jim Meyering's fix from 2015-01-11 to more tests.
        * tests/test-memmem.c (main): Free haystack.
        * tests/test-strcasestr.c (main): Likewise.
        * tests/test-c-strcasestr.c (main): Likewise.



Reply via email to