This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: segfault in test-strcmp
- From: Roland McGrath <roland at redhat dot com>
- To: Jack Howarth <howarth at bromo dot med dot uc dot edu>
- Cc: Jakub Jelinek <jakub at redhat dot com>, libc-alpha at sources dot redhat dot com
- Date: Thu, 7 Nov 2002 18:44:04 -0800
- Subject: Re: segfault in test-strcmp
I looked at the test-strchr crash before the test-strcmp one, but I suspect
the problem is similar. The sysdeps/powerpc/powerpc32/strchr.S code is
accessing the word following the word containing the search character.
This faults because the test string is aligned on the end of a page so that
the following word cannot be accessed (this happens on iteration 157 in
test-strchr with no srandom). The test program is arguably invoking
undefined behavior, because the string is actually not terminated: the
final word of the page contains the search character and three other
nonzero bytes. So a stupid but valid implementation of strchr that called
strlen would crash.
It may be quicker for someone who knows powerpc assembly better than I do
to try to fix this.