[Bug sanitizer/98920] [10/11 Regression] uses regexec without support for REG_STARTEND with -fsanitize=address

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 9 09:33:07 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98920

--- Comment #11 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Florian Weimer from comment #7)
> I think libsanitizer falls back to a version-less lookup if the version
> cannot be found. Therefore, if the glibc baseline is after 2.3.4, the
> version-less lookup will find the unversioned symbol, which has the right
> behavior.

Are you sure Florian about it. I've just tested the patch posted here:
https://reviews.llvm.org/D95864 on aarch64 and I get the following crash:

gcc -fsanitize=address test.c -g && ./a.out 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==23512==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc
0x000000000000 bp 0xffffe9a34200 sp 0xffffe9a34200 T0)
==23512==Hint: pc points to the zero page.
==23512==The signal is caused by a READ memory access.
==23512==Hint: address points to the zero page.
    #0 0x0  (<unknown module>)
    #1 0xffff7d11269c  (linux-vdso.so.1+0x69c)

That said, there's no fallback.


More information about the Gcc-bugs mailing list