* [PATCH v2 1/2] staging: rtl8192e: Fix compiler warning from strncpy()
2018-08-27 18:46 [PATCH v2 0/2] staging: Fix some warnings from strncpy() Larry Finger
@ 2018-08-27 18:46 ` Larry Finger
2018-08-27 18:46 ` [PATCH v2 2/2] staging: rtl8712u: Fix compiler warning about strncpy Larry Finger
1 sibling, 0 replies; 3+ messages in thread
From: Larry Finger @ 2018-08-27 18:46 UTC (permalink / raw)
To: gregkh; +Cc: netdev, devel, Larry Finger
When strncpy() is called with source and destination strings the same
length, gcc 8 warns that there may be an unterminated string. This section
is completely reworked to use the known lengths of the strings.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
v2 - David Laight's comments are implemented.
---
drivers/staging/rtl8192e/rtllib_softmac.c | 18 ++++++++++--------
drivers/staging/rtl8192e/rtllib_softmac.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c
index 919231fec09c..287d0c11fa38 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac.c
@@ -1680,19 +1680,19 @@ inline void rtllib_softmac_new_net(struct rtllib_device *ieee,
(ssidbroad && !ssidset) || (!ssidbroad && ssidset))) ||
(!apset && ssidset && ssidbroad && ssidmatch) ||
(ieee->is_roaming && ssidset && ssidbroad && ssidmatch)) {
- /* if the essid is hidden replace it with the
- * essid provided by the user.
+ /* Save the essid so that if it is hidden, it is
+ * replaced with the essid provided by the user.
*/
if (!ssidbroad) {
- strncpy(tmp_ssid, ieee->current_network.ssid,
- IW_ESSID_MAX_SIZE);
+ memcpy(tmp_ssid, ieee->current_network.ssid,
+ ieee->current_network.ssid_len);
tmp_ssid_len = ieee->current_network.ssid_len;
}
- memcpy(&ieee->current_network, net,
- sizeof(struct rtllib_network));
+ memcpy(&ieee->current_network, net,
+ sizeof(ieee->current_network));
if (!ssidbroad) {
- strncpy(ieee->current_network.ssid, tmp_ssid,
- IW_ESSID_MAX_SIZE);
+ memcpy(ieee->current_network.ssid, tmp_ssid,
+ tmp_ssid_len);
ieee->current_network.ssid_len = tmp_ssid_len;
}
netdev_info(ieee->dev,
--
2.18.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH v2 2/2] staging: rtl8712u: Fix compiler warning about strncpy
2018-08-27 18:46 [PATCH v2 0/2] staging: Fix some warnings from strncpy() Larry Finger
2018-08-27 18:46 ` [PATCH v2 1/2] staging: rtl8192e: Fix compiler warning " Larry Finger
@ 2018-08-27 18:46 ` Larry Finger
1 sibling, 0 replies; 3+ messages in thread
From: Larry Finger @ 2018-08-27 18:46 UTC (permalink / raw)
To: gregkh; +Cc: netdev, devel, Larry Finger
When strncpy() is called with source and destination strings the same
length, gcc 8 warns that there may be an unterminated string. Using
strlcpy() rather than strncpy() forces a null at the end and quiets the
warning.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
v2 - No changes.
---
drivers/staging/rtl8712/rtl871x_ioctl_linux.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
index c3ff7c3e6681..08e1c0957a07 100644
--- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
+++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
@@ -1789,7 +1789,7 @@ static int r871x_wx_set_enc_ext(struct net_device *dev,
return -ENOMEM;
param->cmd = IEEE_CMD_SET_ENCRYPTION;
eth_broadcast_addr(param->sta_addr);
- strncpy((char *)param->u.crypt.alg, alg_name, IEEE_CRYPT_ALG_NAME_LEN);
+ strlcpy((char *)param->u.crypt.alg, alg_name, IEEE_CRYPT_ALG_NAME_LEN);
if (pext->ext_flags & IW_ENCODE_EXT_GROUP_KEY)
param->u.crypt.set_tx = 0;
if (pext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY)
--
2.18.0
^ permalink raw reply related [flat|nested] 3+ messages in thread