From 69ba5f621e4931417f9f41061a7689e36c70e3d9 Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Tue, 19 May 2015 22:26:32 +0200 Subject: [PATCH] Quit with an error message if ioctl(TUNSETIFF) fails. It is possible that opening /dev/net/tun works but that interface creation itself fails, for example if a non-root user tries to create a new interface, or if the desired interface is already opened by another process. In this case, the ioctl() fails, but we actually silently ignored this condition. --- src/linux/device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/linux/device.c b/src/linux/device.c index 5717d92..a06e6da 100644 --- a/src/linux/device.c +++ b/src/linux/device.c @@ -101,6 +101,9 @@ static bool setup_device(void) { strncpy(ifrname, ifr.ifr_name, IFNAMSIZ); free(iface); iface = xstrdup(ifrname); + } else { + logger(DEBUG_ALWAYS, LOG_ERR, "Could not create a tun/tap interface from %s: %s", device, strerror(errno)); + return false; } logger(DEBUG_ALWAYS, LOG_INFO, "%s is a %s", device, device_info); -- 2.25.1