summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-08-17 18:37:58 +0930
committerAlan Modra <amodra@gmail.com>2013-10-04 10:42:02 +0930
commite0f7a3804683f1ab3c41dfc82894bfb18d731341 (patch)
tree2ccee2995bdadfe43a98926350005813862efe32
parent466b03933234017473c12dd1d92bda5e7fe49df7 (diff)
downloadglibc-e0f7a3804683f1ab3c41dfc82894bfb18d731341.tar.gz
string/test-memcpy error reporting
http://sourceware.org/ml/libc-alpha/2013-08/msg00094.html Using plain %s here runs the risk of segfaulting when displaying the string. src and dst aren't zero terminated strings. * string/test-memcpy.c (do_one_test): When reporting errors, print string address and don't overrun end of string.
-rw-r--r--ChangeLog5
-rw-r--r--string/test-memcpy.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 42607ea822..a1c6f5ce1f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2013-10-04 Alan Modra <amodra@gmail.com>
+ * string/test-memcpy.c (do_one_test): When reporting errors, print
+ string address and don't overrun end of string.
+
+2013-10-04 Alan Modra <amodra@gmail.com>
+
* sysdeps/powerpc/powerpc64/power7/memchr.S: Replace rlwimi with
insrdi. Make better use of reg selection to speed exit slightly.
Schedule entry path a little better. Remove useless "are we done"
diff --git a/string/test-memcpy.c b/string/test-memcpy.c
index d121ef02a5..b7ebe5f4e0 100644
--- a/string/test-memcpy.c
+++ b/string/test-memcpy.c
@@ -63,8 +63,8 @@ do_one_test (impl_t *impl, char *dst, const char *src,
if (memcmp (dst, src, len) != 0)
{
- error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
- impl->name, dst, src);
+ error (0, 0, "Wrong result in function %s dst %p \"%.*s\" src %p \"%.*s\" len %zu",
+ impl->name, dst, (int) len, dst, src, (int) len, src, len);
ret = 1;
return;
}