From 5b71224def3ce9447829cb4eee4015031bb90b79 Mon Sep 17 00:00:00 2001 From: Erik Ekman Date: Sat, 31 May 2014 19:29:22 +0200 Subject: [PATCH] Fix segfault in windows tun reader thread The arguments to open_dns() needs to be updated after API change. Called with 0, INADDR_ANY used to mean port, IP address but now means pointer to sockadddr and its length. Thanks to C for not giving any warnings or errors.. --- src/tun.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tun.c b/src/tun.c index 5a9017d..880f7ef 100644 --- a/src/tun.c +++ b/src/tun.c @@ -285,9 +285,12 @@ DWORD WINAPI tun_reader(LPVOID arg) int len; int res; OVERLAPPED olpd; + struct sockaddr_storage addr; + int addr_len; int sock; - sock = open_dns(0, INADDR_ANY); + addr_len = get_addr("127.0.0.1", 0, AF_INET, 0, &addr); + sock = open_dns(&addr, addr_len); olpd.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);