X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fnet_setup.c;h=eeea61a20e13fc3a00a78d6f017f82cd92c8b367;hb=3321591d93d00326eee01fa7c78fb0d56b3d0fba;hp=65965908002540ab94340526771bb5d62cafc8bd;hpb=38c25d62c2bc76908bd95fb21c8f5e39ad269884;p=meshlink diff --git a/src/net_setup.c b/src/net_setup.c index 65965908..eeea61a2 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -537,6 +537,11 @@ bool setup_myself(void) memcpy(&listen_socket[listen_sockets].sa, aip->ai_addr, aip->ai_addrlen); listen_sockets++; + + if(listen_sockets >= MAXSOCKETS) { + logger(LOG_WARNING, _("Maximum of %d listening sockets reached"), MAXSOCKETS); + break; + } } freeaddrinfo(ai); @@ -623,6 +628,8 @@ void close_network_connections(void) } for(i = 0; i < listen_sockets; i++) { + event_del(&listen_socket[i].ev_tcp); + event_del(&listen_socket[i].ev_udp); close(listen_socket[i].tcp); close(listen_socket[i].udp); }