X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fbsd%2Fdevice.c;h=fbc75937bc6d6810a573137152b69c1e7157cd69;hp=54282626212fd5a3dd49290caadb1888de1ae223;hb=2b4c0c63628ff9b432ec5d4b4c7b7ab2d4b02fb2;hpb=c87a77b5fd2a0378f2b992a5d579a80ee4033cec diff --git a/src/bsd/device.c b/src/bsd/device.c index 54282626..fbc75937 100644 --- a/src/bsd/device.c +++ b/src/bsd/device.c @@ -198,18 +198,19 @@ static bool setup_device(void) { // Guess what the corresponding interface is called - char *realname; + char *realname = NULL; #if defined(HAVE_FDEVNAME) - realname = fdevname(device_fd) ? : device; + realname = fdevname(device_fd); #elif defined(HAVE_DEVNAME) struct stat buf; if(!fstat(device_fd, &buf)) - realname = devname(buf.st_rdev, S_IFCHR) ? : device; -#else - realname = device; + realname = devname(buf.st_rdev, S_IFCHR); #endif + if(!realname) + realname = device; + if(!get_config_string(lookup_config(config_tree, "Interface"), &iface)) iface = xstrdup(strrchr(realname, '/') ? strrchr(realname, '/') + 1 : realname); else if(strcmp(iface, strrchr(realname, '/') ? strrchr(realname, '/') + 1 : realname))