]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/packet/af_packet.c
packet: packet_getname_spkt: make sure string is always 0-terminated
[karo-tx-linux.git] / net / packet / af_packet.c
index 8ec1bca7f85908c22534eb2023fef135859997c3..20a1bd0e6549dcd5c55592c9138c4e99556f3816 100644 (file)
@@ -2851,12 +2851,11 @@ static int packet_getname_spkt(struct socket *sock, struct sockaddr *uaddr,
                return -EOPNOTSUPP;
 
        uaddr->sa_family = AF_PACKET;
+       memset(uaddr->sa_data, 0, sizeof(uaddr->sa_data));
        rcu_read_lock();
        dev = dev_get_by_index_rcu(sock_net(sk), pkt_sk(sk)->ifindex);
        if (dev)
-               strncpy(uaddr->sa_data, dev->name, 14);
-       else
-               memset(uaddr->sa_data, 0, 14);
+               strlcpy(uaddr->sa_data, dev->name, sizeof(uaddr->sa_data));
        rcu_read_unlock();
        *uaddr_len = sizeof(*uaddr);