Move free()s at the end om main() to the proper destructor functions.
[tinc] / src / cygwin / device.c
index 2818cd2..c23d02d 100644 (file)
@@ -1,7 +1,7 @@
 /*
     device.c -- Interaction with Windows tap driver in a Cygwin environment
-    Copyright (C) 2002-2004 Ivo Timmermans <ivo@tinc-vpn.org>,
-                  2002-2004 Guus Sliepen <guus@tinc-vpn.org>
+    Copyright (C) 2002-2005 Ivo Timmermans,
+                  2002-2006 Guus Sliepen <guus@tinc-vpn.org>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -38,13 +38,13 @@ int device_fd = -1;
 static HANDLE device_handle = INVALID_HANDLE_VALUE;
 char *device = NULL;
 char *iface = NULL;
-char *device_info = NULL;
+static char *device_info = NULL;
 
-int device_total_in = 0;
-int device_total_out = 0;
+static int device_total_in = 0;
+static int device_total_out = 0;
 
-pid_t reader_pid;
-int sp[2];
+static pid_t reader_pid;
+static int sp[2];
 
 bool setup_device(void)
 {
@@ -227,6 +227,9 @@ void close_device(void)
        CloseHandle(device_handle);
 
        kill(reader_pid, SIGKILL);
+
+       free(device);
+       free(iface);
 }
 
 bool read_packet(vpn_packet_t *packet)