* [PATCH] net: qed: use correct strncpy() size
@ 2018-02-02 15:44 Arnd Bergmann
2018-02-03 0:43 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Arnd Bergmann @ 2018-02-02 15:44 UTC (permalink / raw)
To: Ariel Elior, everest-linux-l2
Cc: Arnd Bergmann, David S. Miller, Tomer Tayar, Mintz, Yuval,
Chad Dupuis, Manish Rangankar, netdev, linux-kernel
passing the strlen() of the source string as the destination
length is pointless, and gcc-8 now warns about it:
drivers/net/ethernet/qlogic/qed/qed_debug.c: In function 'qed_grc_dump':
include/linux/string.h:253: error: 'strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
This changes qed_grc_dump_big_ram() to instead uses the length of
the destination buffer, and use strscpy() to guarantee nul-termination.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/net/ethernet/qlogic/qed/qed_debug.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/qlogic/qed/qed_debug.c b/drivers/net/ethernet/qlogic/qed/qed_debug.c
index f2633ec87a6a..fdf37abee3d3 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_debug.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_debug.c
@@ -3649,10 +3649,8 @@ static u32 qed_grc_dump_big_ram(struct qed_hwfn *p_hwfn,
BIT(big_ram->is_256b_bit_offset[dev_data->chip_id]) ? 256
: 128;
- strncpy(type_name, big_ram->instance_name,
- strlen(big_ram->instance_name));
- strncpy(mem_name, big_ram->instance_name,
- strlen(big_ram->instance_name));
+ strscpy(type_name, big_ram->instance_name, sizeof(type_name));
+ strscpy(mem_name, big_ram->instance_name, sizeof(mem_name));
/* Dump memory header */
offset += qed_grc_dump_mem_hdr(p_hwfn,
--
2.9.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] net: qed: use correct strncpy() size
2018-02-02 15:44 [PATCH] net: qed: use correct strncpy() size Arnd Bergmann
@ 2018-02-03 0:43 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2018-02-03 0:43 UTC (permalink / raw)
To: arnd
Cc: Ariel.Elior, everest-linux-l2, Tomer.Tayar, Yuval.Mintz,
Chad.Dupuis, Manish.Rangankar, netdev, linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
Date: Fri, 2 Feb 2018 16:44:47 +0100
> passing the strlen() of the source string as the destination
> length is pointless, and gcc-8 now warns about it:
>
> drivers/net/ethernet/qlogic/qed/qed_debug.c: In function 'qed_grc_dump':
> include/linux/string.h:253: error: 'strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
>
> This changes qed_grc_dump_big_ram() to instead uses the length of
> the destination buffer, and use strscpy() to guarantee nul-termination.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Applied.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-02-03 0:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-02 15:44 [PATCH] net: qed: use correct strncpy() size Arnd Bergmann
2018-02-03 0:43 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).