Fix default TAP device on Darwin.
[tinc] / src / bsd / device.c
index 145b79e..0e795dd 100644 (file)
@@ -35,7 +35,7 @@
 #endif
 
 #define DEFAULT_TUN_DEVICE "/dev/tun0"
-#if defined(HAVE_FREEBSD) || defined(HAVE_NETBSD)
+#if defined(HAVE_DARWIN) || defined(HAVE_FREEBSD) || defined(HAVE_NETBSD)
 #define DEFAULT_TAP_DEVICE "/dev/tap0"
 #else
 #define DEFAULT_TAP_DEVICE "/dev/tun0"
@@ -197,9 +197,11 @@ static void close_device(void) {
                default:
                        close(device_fd);
        }
+       device_fd = -1;
 
-       free(device);
-       free(iface);
+       free(device); device = NULL;
+       free(iface); iface = NULL;
+       device_info = NULL;
 }
 
 static bool read_packet(vpn_packet_t *packet) {