OSDN Git Service

ip_tunnel: Fix name string concatenate in __ip_tunnel_create()
authorSultan Alsawaf <sultanxda@gmail.com>
Wed, 6 Jun 2018 22:56:54 +0000 (15:56 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Dec 2018 08:21:29 +0000 (09:21 +0100)
commit 000ade8016400d93b4d7c89970d96b8c14773d45 upstream.

By passing a limit of 2 bytes to strncat, strncat is limited to writing
fewer bytes than what it's supposed to append to the name here.

Since the bounds are checked on the line above this, just remove the string
bounds checks entirely since they're unneeded.

Signed-off-by: Sultan Alsawaf <sultanxda@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/ip_tunnel.c

index 9d3176b..91ae061 100644 (file)
@@ -261,8 +261,8 @@ static struct net_device *__ip_tunnel_create(struct net *net,
        } else {
                if (strlen(ops->kind) > (IFNAMSIZ - 3))
                        goto failed;
-               strlcpy(name, ops->kind, IFNAMSIZ);
-               strncat(name, "%d", 2);
+               strcpy(name, ops->kind);
+               strcat(name, "%d");
        }
 
        ASSERT_RTNL();