X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;ds=sidebyside;f=src%2Fnet_setup.c;h=dd6c58f1485608bd499d4e57ff5d54ee1cce1f7d;hb=4c6a9a9611442f958c3049a566ac4369653978e9;hp=2cd5818b5fc8e1c0748b819615869dfd01b7abc4;hpb=c6a15e27d934e90a1f3a26438dddb395bdc9de19;p=tinc diff --git a/src/net_setup.c b/src/net_setup.c index 2cd5818b..dd6c58f1 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -674,6 +674,7 @@ static bool add_listen_address(char *address, bool bindto) { } if(listen_sockets >= MAXSOCKETS) { + listen_sockets = MAXSOCKETS; logger(DEBUG_ALWAYS, LOG_ERR, "Too many listening sockets"); freeaddrinfo(ai); return false; @@ -1085,16 +1086,19 @@ static bool setup_myself(void) { /* Open sockets */ - if(!do_detach && getenv("LISTEN_FDS")) { + const char *listen_fds = getenv("LISTEN_FDS"); + + if(!do_detach && listen_fds) { sockaddr_t sa; socklen_t salen; - listen_sockets = atoi(getenv("LISTEN_FDS")); + listen_sockets = atoi(listen_fds); #ifdef HAVE_UNSETENV unsetenv("LISTEN_FDS"); #endif if(listen_sockets > MAXSOCKETS) { + listen_sockets = MAXSOCKETS; logger(DEBUG_ALWAYS, LOG_ERR, "Too many listening sockets"); return false; }