string/test-memcpy error reporting
Ryan S. Arnold
ryan.arnold@gmail.com
Tue Aug 13 14:24:00 GMT 2013
On Thu, Aug 8, 2013 at 11:58 PM, Alan Modra <amodra@gmail.com> wrote:
> 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.
>
> diff --git a/string/test-memcpy.c b/string/test-memcpy.c
> index d121ef0..b7ebe5f 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;
> }
Seems like an obvious fix. Ack.
Ryan
More information about the Libc-alpha
mailing list