From b2f1e5458b48001d3d20e58e8ebb07616501cab8 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Tue, 1 Jan 2019 19:38:58 +0200 Subject: [PATCH] hostap: Silence compiler warnings about IFNAMSIZ buffers Report interface name truncation and reject such cases in Host AP driver initialization of the AP interface. Signed-off-by: Jouni Malinen --- src/drivers/driver_hostap.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/drivers/driver_hostap.c b/src/drivers/driver_hostap.c index 597da335e..3f33bb5fb 100644 --- a/src/drivers/driver_hostap.c +++ b/src/drivers/driver_hostap.c @@ -231,7 +231,11 @@ static int hostap_init_sockets(struct hostap_driver_data *drv, u8 *own_addr) } memset(&ifr, 0, sizeof(ifr)); - snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%sap", drv->iface); + if (os_snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%sap", + drv->iface) >= (int) sizeof(ifr.ifr_name)) { + wpa_printf(MSG_ERROR, "hostap: AP interface name truncated"); + return -1; + } if (ioctl(drv->sock, SIOCGIFINDEX, &ifr) != 0) { wpa_printf(MSG_ERROR, "ioctl(SIOCGIFINDEX): %s", strerror(errno)); @@ -348,7 +352,10 @@ static int hostap_set_iface_flags(void *priv, int dev_up) struct ifreq ifr; char ifname[IFNAMSIZ]; - os_snprintf(ifname, IFNAMSIZ, "%sap", drv->iface); + if (os_snprintf(ifname, IFNAMSIZ, "%sap", drv->iface) >= IFNAMSIZ) { + wpa_printf(MSG_ERROR, "hostap: AP interface name truncated"); + return -1; + } if (linux_set_iface_flags(drv->ioctl_sock, ifname, dev_up) < 0) return -1;