diff options
author | Roland McGrath <roland@gnu.org> | 2002-11-09 00:36:21 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-11-09 00:36:21 +0000 |
commit | 9372c9582451c4d40152769a0aeba35e58942b59 (patch) | |
tree | 1432bae1710df677dde7bdc95bb8057fbd6b3449 /string | |
parent | 2b49744308c65a95862b4ae197f27cec3ae8beaa (diff) | |
download | glibc-9372c9582451c4d40152769a0aeba35e58942b59.tar.gz glibc-9372c9582451c4d40152769a0aeba35e58942b59.tar.xz glibc-9372c9582451c4d40152769a0aeba35e58942b59.zip |
* string/test-strspn.c (do_test): Ensure zero termination.
* string/test-strpbrk.c (do_test): Likewise. * string/test-strncmp.c (stupid_strncmp): Use strnlen, not strlen. * string/test-strncpy.c (stupid_strncpy): Likewise. * string/test-stpncpy.c (stupid_stpncpy): Likewise. 2002-10-08 Roland McGrath <roland@redhat.com> * string/test-string.h (test_init): Fill BUF1 and BUF2 with nonzero characters. 2002-09-22 H.J. Lu <hjl@gnu.org> * sysdeps/unix/sysv/linux/mmap64.c (MMAP2_PAGE_SHIFT): Renamed from PAGE_SHIFT. Define if not defined. Check MMAP2_PAGE_SHIFT only if __NR_mmap2 is defined. * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Moved to ... * sysdeps/unix/sysv/linux/mmap64.c: ... here. * sysdeps/unix/sysv/linux/hppa/mmap64.c: File removed. * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: FIle removed,
Diffstat (limited to 'string')
-rw-r--r-- | string/test-stpncpy.c | 4 | ||||
-rw-r--r-- | string/test-string.h | 3 | ||||
-rw-r--r-- | string/test-strncmp.c | 2 | ||||
-rw-r--r-- | string/test-strncpy.c | 4 | ||||
-rw-r--r-- | string/test-strpbrk.c | 8 | ||||
-rw-r--r-- | string/test-strspn.c | 8 |
6 files changed, 22 insertions, 7 deletions
diff --git a/string/test-stpncpy.c b/string/test-stpncpy.c index 5bcb1ddef4..8784588645 100644 --- a/string/test-stpncpy.c +++ b/string/test-stpncpy.c @@ -47,8 +47,8 @@ simple_stpncpy (char *dst, const char *src, size_t n) char * stupid_stpncpy (char *dst, const char *src, size_t n) { - size_t ns = strlen (src); - size_t i, nc = n < ns ? n : ns; + size_t nc = strnlen (src, n); + size_t i; for (i = 0; i < nc; ++i) dst[i] = src[i]; diff --git a/string/test-string.h b/string/test-string.h index ae7fc3440a..c131f19de7 100644 --- a/string/test-string.h +++ b/string/test-string.h @@ -143,6 +143,9 @@ test_init (void) printf ("Setting seed to 0x%x\n", seed); srandom (seed); } + + memset (buf1, 0xa5, page_size); + memset (buf2, 0x5a, page_size); } #endif diff --git a/string/test-strncmp.c b/string/test-strncmp.c index 8881909646..2c49e576d6 100644 --- a/string/test-strncmp.c +++ b/string/test-strncmp.c @@ -42,7 +42,7 @@ simple_strncmp (const char *s1, const char *s2, size_t n) int stupid_strncmp (const char *s1, const char *s2, size_t n) { - size_t ns1 = strlen (s1) + 1, ns2 = strlen (s2) + 1; + size_t ns1 = strnlen (s1, n) + 1, ns2 = strnlen (s2, n) + 1; int ret = 0; n = ns1 < n ? ns1 : n; diff --git a/string/test-strncpy.c b/string/test-strncpy.c index 11ff30eebf..7820b61158 100644 --- a/string/test-strncpy.c +++ b/string/test-strncpy.c @@ -47,8 +47,8 @@ simple_strncpy (char *dst, const char *src, size_t n) char * stupid_strncpy (char *dst, const char *src, size_t n) { - size_t ns = strlen (src); - size_t i, nc = n < ns ? n : ns; + size_t nc = strnlen (src, n); + size_t i; for (i = 0; i < nc; ++i) dst[i] = src[i]; diff --git a/string/test-strpbrk.c b/string/test-strpbrk.c index 77cf56dd16..a920c00041 100644 --- a/string/test-strpbrk.c +++ b/string/test-strpbrk.c @@ -97,7 +97,7 @@ do_test (size_t align, size_t pos, size_t len) char *rej, *s; align &= 7; - if (align + pos >= page_size || len > 240) + if (align + pos + 10 >= page_size || len > 240) return; rej = buf2 + (random () & 255); @@ -127,6 +127,12 @@ do_test (size_t align, size_t pos, size_t len) } } s[pos] = rej[random () % (len + 1)]; + if (s[pos]) + { + for (i = pos + 1; i < pos + 10; ++i) + s[i] = random () & 255; + s[i] = '\0'; + } result = STRPBRK_RESULT (s, pos); if (HP_TIMING_AVAIL) diff --git a/string/test-strspn.c b/string/test-strspn.c index 4a6475295e..8701687d4b 100644 --- a/string/test-strspn.c +++ b/string/test-strspn.c @@ -99,7 +99,7 @@ do_test (size_t align, size_t pos, size_t len) char *acc, *s; align &= 7; - if (align + pos >= page_size || len > 240 || ! len) + if (align + pos + 10 >= page_size || len > 240 || ! len) return; acc = buf2 + (random () & 255); @@ -120,6 +120,12 @@ do_test (size_t align, size_t pos, size_t len) s[pos] = random () & 255; if (strchr (acc, s[pos])) s[pos] = '\0'; + else + { + for (i = pos + 1; i < pos + 10; ++i) + s[i] = random () & 255; + s[i] = '\0'; + } if (HP_TIMING_AVAIL) printf ("Length %4zd, alignment %2zd, acc len %2zd:", pos, align, len); |