From patchwork Mon Jan 8 11:43:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiongfeng Wang X-Patchwork-Id: 123690 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp2607855qgn; Mon, 8 Jan 2018 03:37:48 -0800 (PST) X-Google-Smtp-Source: ACJfBosqLL7jXLlq/nHmwALcXY21KE3Em+/hKMkcNiZ7y/kWlyIQLDHTXO7GnpwBHuC4XqziiFh8 X-Received: by 10.159.206.134 with SMTP id bg6mr12012476plb.311.1515411468552; Mon, 08 Jan 2018 03:37:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1515411468; cv=none; d=google.com; s=arc-20160816; b=wW1mYKEtZu2lTnsDZpTyiN5m5MdeRzRD8FbEZD0c8SXIqyXRuskUhPnR1NsSzJ62TS vN6KWh8VVo+iEdUbKI57ClZaocasi4ojy1I89XuQS2ajGQJPeK7ZPdHIhQRpEuT7uQ9H TnbeTXquywcpI/IMaUjuTAzO9Nf/O1ygdz/UG8cO96KXyBH9VKlez8XzXBHrARARzjTH 9pzUoo/hijA/JudU/hWbO/HHfIZN7Ir16tvTi9+MdkLpWz1MZqpjS0Y3XkMP1u6gFOCw sAbUdB+KGkn2VGZEY7yLMdlMfZzpJK4wjpkenhiYtOXYU3mV9M+TPlgXctem2U1W86Di Ow4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=Zgm+eVtu/McTrUlmrTQc6ltaBNuUQji3lrDBfRliHvM=; b=t4GsSQNN1ukxDkgU4p6gOtJWerA43smpWK8FYmEI0M/bhMlaxw04giJ7Ic/cayo4fW bJ48QNqFXnic22CHyByqI2ObWqNef/48mAw+bQljLTRfA9NGksxtUXu262tnOUg6vhG8 N7H65zid6+DXUkG6/Qd4Md6wpaFljKt3ZT9ooCtkPUTFyWjAJmitqmJLUv9yAn/JOU4e Hxk3Jix4ic3n9wdTzwzU0iVG6u9EEhuhCLsZKtljKns3xEqK7+p7bZ923nV60vCz2eq9 MDw9i0/eQBvOWQezssekzK8p+OaT+z4fOHcodfnb3H6ZcV5Thj/Dv3FEYaU5jadC3shs oKhA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z7si7328667pgp.583.2018.01.08.03.37.48; Mon, 08 Jan 2018 03:37:48 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756922AbeAHLhp (ORCPT + 28 others); Mon, 8 Jan 2018 06:37:45 -0500 Received: from szxga06-in.huawei.com ([45.249.212.32]:50066 "EHLO huawei.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1755235AbeAHLho (ORCPT ); Mon, 8 Jan 2018 06:37:44 -0500 Received: from DGGEMS413-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id E3DBC808AF7A6; Mon, 8 Jan 2018 19:37:30 +0800 (CST) Received: from localhost.localdomain.localdomain (10.175.113.25) by DGGEMS413-HUB.china.huawei.com (10.3.19.213) with Microsoft SMTP Server id 14.3.361.1; Mon, 8 Jan 2018 19:37:25 +0800 From: Xiongfeng Wang To: , CC: , , Subject: [PATCH] net: caif: use strlcpy() instead of strncpy() Date: Mon, 8 Jan 2018 19:43:00 +0800 Message-ID: <1515411780-27246-1-git-send-email-wangxiongfeng2@huawei.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 X-Originating-IP: [10.175.113.25] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Xiongfeng Wang gcc-8 reports net/caif/caif_dev.c: In function 'caif_enroll_dev': ./include/linux/string.h:245:9: warning: '__builtin_strncpy' output may be truncated copying 15 bytes from a string of length 15 [-Wstringop-truncation] net/caif/cfctrl.c: In function 'cfctrl_linkup_request': ./include/linux/string.h:245:9: warning: '__builtin_strncpy' output may be truncated copying 15 bytes from a string of length 15 [-Wstringop-truncation] net/caif/cfcnfg.c: In function 'caif_connect_client': ./include/linux/string.h:245:9: warning: '__builtin_strncpy' output may be truncated copying 15 bytes from a string of length 15 [-Wstringop-truncation] The compiler require that the input param 'len' of strncpy() should be greater than the length of the src string, so that '\0' is copied as well. We can just use strlcpy() to avoid this warning. Signed-off-by: Xiongfeng Wang --- net/caif/caif_dev.c | 5 ++--- net/caif/cfcnfg.c | 10 ++++------ net/caif/cfctrl.c | 4 ++-- 3 files changed, 8 insertions(+), 11 deletions(-) -- 1.8.3.1 diff --git a/net/caif/caif_dev.c b/net/caif/caif_dev.c index 2d38b6e..e0adcd1 100644 --- a/net/caif/caif_dev.c +++ b/net/caif/caif_dev.c @@ -334,9 +334,8 @@ void caif_enroll_dev(struct net_device *dev, struct caif_dev_common *caifdev, mutex_lock(&caifdevs->lock); list_add_rcu(&caifd->list, &caifdevs->list); - strncpy(caifd->layer.name, dev->name, - sizeof(caifd->layer.name) - 1); - caifd->layer.name[sizeof(caifd->layer.name) - 1] = 0; + strlcpy(caifd->layer.name, dev->name, + sizeof(caifd->layer.name)); caifd->layer.transmit = transmit; cfcnfg_add_phy_layer(cfg, dev, diff --git a/net/caif/cfcnfg.c b/net/caif/cfcnfg.c index 273cb07..8f00bea 100644 --- a/net/caif/cfcnfg.c +++ b/net/caif/cfcnfg.c @@ -268,17 +268,15 @@ static int caif_connect_req_to_link_param(struct cfcnfg *cnfg, case CAIFPROTO_RFM: l->linktype = CFCTRL_SRV_RFM; l->u.datagram.connid = s->sockaddr.u.rfm.connection_id; - strncpy(l->u.rfm.volume, s->sockaddr.u.rfm.volume, - sizeof(l->u.rfm.volume)-1); - l->u.rfm.volume[sizeof(l->u.rfm.volume)-1] = 0; + strlcpy(l->u.rfm.volume, s->sockaddr.u.rfm.volume, + sizeof(l->u.rfm.volume)); break; case CAIFPROTO_UTIL: l->linktype = CFCTRL_SRV_UTIL; l->endpoint = 0x00; l->chtype = 0x00; - strncpy(l->u.utility.name, s->sockaddr.u.util.service, - sizeof(l->u.utility.name)-1); - l->u.utility.name[sizeof(l->u.utility.name)-1] = 0; + strlcpy(l->u.utility.name, s->sockaddr.u.util.service, + sizeof(l->u.utility.name)); caif_assert(sizeof(l->u.utility.name) > 10); l->u.utility.paramlen = s->param.size; if (l->u.utility.paramlen > sizeof(l->u.utility.params)) diff --git a/net/caif/cfctrl.c b/net/caif/cfctrl.c index f5afda1..655ed70 100644 --- a/net/caif/cfctrl.c +++ b/net/caif/cfctrl.c @@ -258,8 +258,8 @@ int cfctrl_linkup_request(struct cflayer *layer, tmp16 = cpu_to_le16(param->u.utility.fifosize_bufs); cfpkt_add_body(pkt, &tmp16, 2); memset(utility_name, 0, sizeof(utility_name)); - strncpy(utility_name, param->u.utility.name, - UTILITY_NAME_LENGTH - 1); + strlcpy(utility_name, param->u.utility.name, + UTILITY_NAME_LENGTH); cfpkt_add_body(pkt, utility_name, UTILITY_NAME_LENGTH); tmp8 = param->u.utility.paramlen; cfpkt_add_body(pkt, &tmp8, 1);