From: Guus Sliepen Date: Wed, 4 Nov 2009 15:18:08 +0000 (+0100) Subject: Don't enable device events when there is no valid filedescriptor. X-Git-Tag: import-tinc-1.1~583 X-Git-Url: https://git.meshlink.io/?a=commitdiff_plain;h=37ccb325af5c7865eb16716780121a8a6dce8abd;p=meshlink Don't enable device events when there is no valid filedescriptor. --- diff --git a/src/net_setup.c b/src/net_setup.c index de2d0fea..c643449b 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -349,12 +349,14 @@ bool setup_myself(void) { if(!setup_device()) return false; - event_set(&device_ev, device_fd, EV_READ|EV_PERSIST, handle_device_data, NULL); + if(device_fd >= 0) { + event_set(&device_ev, device_fd, EV_READ|EV_PERSIST, handle_device_data, NULL); - if (event_add(&device_ev, NULL) < 0) { - logger(LOG_ERR, "event_add failed: %s", strerror(errno)); - close_device(); - return false; + if (event_add(&device_ev, NULL) < 0) { + logger(LOG_ERR, "event_add failed: %s", strerror(errno)); + close_device(); + return false; + } } /* Run tinc-up script to further initialize the tap interface */