diff mbox

[V2] net: ethernet: myricom: myri10ge: myri10ge.c: Cleaning up missing null-terminate after strncpy call

Message ID 1407784696-31698-1-git-send-email-rickard_strandqvist@spectrumdigital.se
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Rickard Strandqvist Aug. 11, 2014, 7:18 p.m. UTC
Added a guaranteed null-terminate after call to strncpy.

Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
---
 drivers/net/ethernet/myricom/myri10ge/myri10ge.c |    1 +
 1 file changed, 1 insertion(+)

Comments

David Miller Aug. 11, 2014, 9:57 p.m. UTC | #1
From: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Date: Mon, 11 Aug 2014 21:18:16 +0200

> Added a guaranteed null-terminate after call to strncpy.
> 
> Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Pirko Aug. 13, 2014, 5:06 p.m. UTC | #2
Mon, Aug 11, 2014 at 09:18:16PM CEST, rickard_strandqvist@spectrumdigital.se wrote:
>Added a guaranteed null-terminate after call to strncpy.
>
>Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
>---
> drivers/net/ethernet/myricom/myri10ge/myri10ge.c |    1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
>index f3d5d79..69c26f0 100644
>--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
>+++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
>@@ -574,6 +574,7 @@ myri10ge_validate_firmware(struct myri10ge_priv *mgp,
> 
> 	/* save firmware version for ethtool */
> 	strncpy(mgp->fw_version, hdr->version, sizeof(mgp->fw_version));
>+	mgp->fw_version[sizeof(mgp->fw_version) - 1] = '\0';

	Why not to use strlcpy?

> 
> 	sscanf(mgp->fw_version, "%d.%d.%d", &mgp->fw_ver_major,
> 	       &mgp->fw_ver_minor, &mgp->fw_ver_tiny);
>-- 
>1.7.10.4
>
>--
>To unsubscribe from this list: send the line "unsubscribe netdev" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rickard Strandqvist Aug. 16, 2014, 9:18 p.m. UTC | #3
2014-08-13 19:06 GMT+02:00 Jiri Pirko <jiri@resnulli.us>:
> Mon, Aug 11, 2014 at 09:18:16PM CEST, rickard_strandqvist@spectrumdigital.se wrote:
>>Added a guaranteed null-terminate after call to strncpy.
>>
>>Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
>>---
>> drivers/net/ethernet/myricom/myri10ge/myri10ge.c |    1 +
>> 1 file changed, 1 insertion(+)
>>
>>diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
>>index f3d5d79..69c26f0 100644
>>--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
>>+++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
>>@@ -574,6 +574,7 @@ myri10ge_validate_firmware(struct myri10ge_priv *mgp,
>>
>>       /* save firmware version for ethtool */
>>       strncpy(mgp->fw_version, hdr->version, sizeof(mgp->fw_version));
>>+      mgp->fw_version[sizeof(mgp->fw_version) - 1] = '\0';
>
>         Why not to use strlcpy?
>
>>
>>       sscanf(mgp->fw_version, "%d.%d.%d", &mgp->fw_ver_major,
>>              &mgp->fw_ver_minor, &mgp->fw_ver_tiny);
>>--
>>1.7.10.4


Hi

Sure, strlcpy is preferable in many ways if we only can guarantee that
it is safe.
I have seldom received so much criticism when I start switching to
strlcpy, although much of it was justified :)
Even Linus was getting into the debate.  See more:

https://plus.google.com/111049168280159033135/posts/1amLbuhWbh5


I change to strlcpy only when I'm sure it will not cause any other problems.
But if you or anyone else can guarantee that in this case, so I'd make
a new patch with strlcpy.


Kind regards

Rickard Strandqvist
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
index f3d5d79..69c26f0 100644
--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
+++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
@@ -574,6 +574,7 @@  myri10ge_validate_firmware(struct myri10ge_priv *mgp,
 
 	/* save firmware version for ethtool */
 	strncpy(mgp->fw_version, hdr->version, sizeof(mgp->fw_version));
+	mgp->fw_version[sizeof(mgp->fw_version) - 1] = '\0';
 
 	sscanf(mgp->fw_version, "%d.%d.%d", &mgp->fw_ver_major,
 	       &mgp->fw_ver_minor, &mgp->fw_ver_tiny);