staging: rtl8192e: Fix compiler warning from strncpy()

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Larry Finger 2018-08-27 13:46:45 -05:00 committed by Greg Kroah-Hartman
parent f72403461b
commit 86eac24dbb

View File

@ -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,