]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Limit P2P_DEVICE name to appropriate ifname size
authorBenjamin Berg <bberg@redhat.com>
Tue, 25 Aug 2020 06:29:02 +0000 (08:29 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 10 Oct 2020 17:24:55 +0000 (20:24 +0300)
Otherwise the WPA_IF_P2P_DEVICE cannot be created if the base ifname is
long enough. As this is not a netdev device, it is acceptable if the
name is not completely unique. As such, simply insert a NUL byte at the
appropriate place.

Signed-off-by: Benjamin Berg <bberg@redhat.com>
wpa_supplicant/p2p_supplicant.c

index 479fa2fadee9e8e38351d3bc0ce383e123bb2259..64ba34450563e1116f5071f5200262bd2e29e19a 100644 (file)
@@ -3984,6 +3984,10 @@ int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s,
                          wpa_s->ifname);
        if (os_snprintf_error(sizeof(ifname), ret))
                return -1;
+       /* Cut length at the maximum size. Note that we don't need to ensure
+        * collision free names here as the created interface is not a netdev.
+        */
+       ifname[IFNAMSIZ - 1] = '\0';
        force_name[0] = '\0';
        wpa_s->pending_interface_type = WPA_IF_P2P_DEVICE;
        ret = wpa_drv_if_add(wpa_s, WPA_IF_P2P_DEVICE, ifname, NULL, NULL,