net: caif: use strlcpy() instead of strncpy()
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 <xiongfeng.wang@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
b8fd0823e0
Коммит
3dc2fa4754
|
@ -334,9 +334,8 @@ void caif_enroll_dev(struct net_device *dev, struct caif_dev_common *caifdev,
|
||||||
mutex_lock(&caifdevs->lock);
|
mutex_lock(&caifdevs->lock);
|
||||||
list_add_rcu(&caifd->list, &caifdevs->list);
|
list_add_rcu(&caifd->list, &caifdevs->list);
|
||||||
|
|
||||||
strncpy(caifd->layer.name, dev->name,
|
strlcpy(caifd->layer.name, dev->name,
|
||||||
sizeof(caifd->layer.name) - 1);
|
sizeof(caifd->layer.name));
|
||||||
caifd->layer.name[sizeof(caifd->layer.name) - 1] = 0;
|
|
||||||
caifd->layer.transmit = transmit;
|
caifd->layer.transmit = transmit;
|
||||||
cfcnfg_add_phy_layer(cfg,
|
cfcnfg_add_phy_layer(cfg,
|
||||||
dev,
|
dev,
|
||||||
|
|
|
@ -268,17 +268,15 @@ static int caif_connect_req_to_link_param(struct cfcnfg *cnfg,
|
||||||
case CAIFPROTO_RFM:
|
case CAIFPROTO_RFM:
|
||||||
l->linktype = CFCTRL_SRV_RFM;
|
l->linktype = CFCTRL_SRV_RFM;
|
||||||
l->u.datagram.connid = s->sockaddr.u.rfm.connection_id;
|
l->u.datagram.connid = s->sockaddr.u.rfm.connection_id;
|
||||||
strncpy(l->u.rfm.volume, s->sockaddr.u.rfm.volume,
|
strlcpy(l->u.rfm.volume, s->sockaddr.u.rfm.volume,
|
||||||
sizeof(l->u.rfm.volume)-1);
|
sizeof(l->u.rfm.volume));
|
||||||
l->u.rfm.volume[sizeof(l->u.rfm.volume)-1] = 0;
|
|
||||||
break;
|
break;
|
||||||
case CAIFPROTO_UTIL:
|
case CAIFPROTO_UTIL:
|
||||||
l->linktype = CFCTRL_SRV_UTIL;
|
l->linktype = CFCTRL_SRV_UTIL;
|
||||||
l->endpoint = 0x00;
|
l->endpoint = 0x00;
|
||||||
l->chtype = 0x00;
|
l->chtype = 0x00;
|
||||||
strncpy(l->u.utility.name, s->sockaddr.u.util.service,
|
strlcpy(l->u.utility.name, s->sockaddr.u.util.service,
|
||||||
sizeof(l->u.utility.name)-1);
|
sizeof(l->u.utility.name));
|
||||||
l->u.utility.name[sizeof(l->u.utility.name)-1] = 0;
|
|
||||||
caif_assert(sizeof(l->u.utility.name) > 10);
|
caif_assert(sizeof(l->u.utility.name) > 10);
|
||||||
l->u.utility.paramlen = s->param.size;
|
l->u.utility.paramlen = s->param.size;
|
||||||
if (l->u.utility.paramlen > sizeof(l->u.utility.params))
|
if (l->u.utility.paramlen > sizeof(l->u.utility.params))
|
||||||
|
|
|
@ -258,8 +258,8 @@ int cfctrl_linkup_request(struct cflayer *layer,
|
||||||
tmp16 = cpu_to_le16(param->u.utility.fifosize_bufs);
|
tmp16 = cpu_to_le16(param->u.utility.fifosize_bufs);
|
||||||
cfpkt_add_body(pkt, &tmp16, 2);
|
cfpkt_add_body(pkt, &tmp16, 2);
|
||||||
memset(utility_name, 0, sizeof(utility_name));
|
memset(utility_name, 0, sizeof(utility_name));
|
||||||
strncpy(utility_name, param->u.utility.name,
|
strlcpy(utility_name, param->u.utility.name,
|
||||||
UTILITY_NAME_LENGTH - 1);
|
UTILITY_NAME_LENGTH);
|
||||||
cfpkt_add_body(pkt, utility_name, UTILITY_NAME_LENGTH);
|
cfpkt_add_body(pkt, utility_name, UTILITY_NAME_LENGTH);
|
||||||
tmp8 = param->u.utility.paramlen;
|
tmp8 = param->u.utility.paramlen;
|
||||||
cfpkt_add_body(pkt, &tmp8, 1);
|
cfpkt_add_body(pkt, &tmp8, 1);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче