From mboxrd@z Thu Jan 1 00:00:00 1970 From: Larry Finger Subject: [PATCH v2 1/2] staging: rtl8192e: Fix compiler warning from strncpy() Date: Mon, 27 Aug 2018 13:46:45 -0500 Message-ID: <20180827184646.10276-2-Larry.Finger@lwfinger.net> References: <20180827184646.10276-1-Larry.Finger@lwfinger.net> Cc: netdev@vger.kernel.org, devel@driverdev.osuosl.org, Larry Finger To: gregkh@linuxfoundation.org Return-path: Received: from mail-oi0-f67.google.com ([209.85.218.67]:39478 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726939AbeH0Wej (ORCPT ); Mon, 27 Aug 2018 18:34:39 -0400 Received: by mail-oi0-f67.google.com with SMTP id c190-v6so29149042oig.6 for ; Mon, 27 Aug 2018 11:46:53 -0700 (PDT) In-Reply-To: <20180827184646.10276-1-Larry.Finger@lwfinger.net> Sender: netdev-owner@vger.kernel.org List-ID: 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 --- 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