diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | string/test-strncmp.c | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index fe86bc9944..2f2ec75e78 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-04-05 Andreas Schwab <schwab@redhat.com> + + * string/test-strncmp.c (do_page_test): Limit length to size of + object. + 2011-04-03 Ulrich Drepper <drepper@gmail.com> * sysdeps/x86_64/cacheinfo.c (intel_02_known): Fix typo in table. diff --git a/string/test-strncmp.c b/string/test-strncmp.c index 00971df22f..880b2be740 100644 --- a/string/test-strncmp.c +++ b/string/test-strncmp.c @@ -204,6 +204,7 @@ do_page_test (size_t offset1, size_t offset2, char *s2) { char *s1; int exp_result; + size_t max_offset = offset1 > offset2 ? offset1 : offset2; if (offset1 >= page_size || offset2 >= page_size) return; @@ -211,12 +212,12 @@ do_page_test (size_t offset1, size_t offset2, char *s2) s1 = (char *) (buf1 + offset1); s2 += offset2; - exp_result= *s1; + exp_result = *s1; FOR_EACH_IMPL (impl, 0) { - check_result (impl, s1, s2, page_size, -exp_result); - check_result (impl, s2, s1, page_size, exp_result); + check_result (impl, s1, s2, page_size - max_offset, -exp_result); + check_result (impl, s2, s1, page_size - max_offset, exp_result); } } |