test_hexdump: Replace strncpy with memcpy
diff mbox series

Message ID 1530478650-20922-1-git-send-email-linux@roeck-us.net
State Accepted
Commit b1286ed7158e9b62787508066283ab0b8850b518
Headers show
Series
  • test_hexdump: Replace strncpy with memcpy
Related show

Commit Message

Guenter Roeck July 1, 2018, 8:57 p.m. UTC
gcc 8.1.0 complains:

lib/test_hexdump.c:84:3: warning:
	'strncpy' output truncated before terminating
	nul copying as many bytes from a string as its length
lib/test_hexdump.c:82:19: note: length computed here

Using strncpy() is indeed less than perfect since the length of data to
be copied has already been determined with strlen(). Replace strncpy()
with memcpy() to address the warning and optimize the code a little.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
 lib/test_hexdump.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andy Shevchenko July 4, 2018, 9:23 p.m. UTC | #1
On Sun, Jul 1, 2018 at 11:57 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> gcc 8.1.0 complains:
>
> lib/test_hexdump.c:84:3: warning:
>         'strncpy' output truncated before terminating
>         nul copying as many bytes from a string as its length
> lib/test_hexdump.c:82:19: note: length computed here
>
> Using strncpy() is indeed less than perfect since the length of data to
> be copied has already been determined with strlen(). Replace strncpy()
> with memcpy() to address the warning and optimize the code a little.
>

If it helps for some reason I'm not objecting to switch to memcpy().

Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
>  lib/test_hexdump.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/test_hexdump.c b/lib/test_hexdump.c
> index 3f415d8101f3..1c3c513add77 100644
> --- a/lib/test_hexdump.c
> +++ b/lib/test_hexdump.c
> @@ -81,7 +81,7 @@ static void __init test_hexdump_prepare_test(size_t len, int rowsize,
>                 const char *q = *result++;
>                 size_t amount = strlen(q);
>
> -               strncpy(p, q, amount);
> +               memcpy(p, q, amount);
>                 p += amount;
>
>                 *p++ = ' ';
> --
> 2.7.4
>

Patch
diff mbox series

diff --git a/lib/test_hexdump.c b/lib/test_hexdump.c
index 3f415d8101f3..1c3c513add77 100644
--- a/lib/test_hexdump.c
+++ b/lib/test_hexdump.c
@@ -81,7 +81,7 @@  static void __init test_hexdump_prepare_test(size_t len, int rowsize,
 		const char *q = *result++;
 		size_t amount = strlen(q);
 
-		strncpy(p, q, amount);
+		memcpy(p, q, amount);
 		p += amount;
 
 		*p++ = ' ';