4.19-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Guoqing Jiang <gqji...@suse.com>

commit 29e270fc32192e7729057963ae7120663856c93e upstream.

Got below warning with gcc 8.2 compiler.

net/tipc/topsrv.c: In function ‘tipc_topsrv_start’:
net/tipc/topsrv.c:660:2: warning: ‘strncpy’ specified bound depends on the 
length of the source argument [-Wstringop-overflow=]
  strncpy(srv->name, name, strlen(name) + 1);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/tipc/topsrv.c:660:27: note: length computed here
  strncpy(srv->name, name, strlen(name) + 1);
                           ^~~~~~~~~~~~
So change it to correct length and use strscpy.

Signed-off-by: Guoqing Jiang <gqji...@suse.com>
Acked-by: Ying Xue <ying....@windriver.com>
Signed-off-by: David S. Miller <da...@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

diff --git a/net/tipc/topsrv.c b/net/tipc/topsrv.c
index d8956f7daac4..4bdea0057171 100644
--- a/net/tipc/topsrv.c
+++ b/net/tipc/topsrv.c
@@ -651,7 +651,7 @@ int tipc_topsrv_start(struct net *net)
        srv->max_rcvbuf_size = sizeof(struct tipc_subscr);
        INIT_WORK(&srv->awork, tipc_topsrv_accept);
 
-       strncpy(srv->name, name, strlen(name) + 1);
+       strscpy(srv->name, name, sizeof(srv->name));
        tn->topsrv = srv;
        atomic_set(&tn->subscription_count, 0);
 


Reply via email to