diff options
Diffstat (limited to 'source/smbd/dnsregister.c')
-rw-r--r-- | source/smbd/dnsregister.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/smbd/dnsregister.c b/source/smbd/dnsregister.c index f02739ef8df..3c689b9cf3e 100644 --- a/source/smbd/dnsregister.c +++ b/source/smbd/dnsregister.c @@ -125,6 +125,9 @@ void dns_register_smbd(struct dns_reg_state ** dns_state_ptr, */ if (dns_state->srv_ref != NULL) { mdnsd_conn_fd = DNSServiceRefSockFD(dns_state->srv_ref); + if (mdnsd_conn_fd < 0 || mdnsd_conn_fd >= FD_SETSIZE) { + return; + } FD_SET(mdnsd_conn_fd, listen_set); return; } @@ -156,6 +159,9 @@ void dns_register_smbd(struct dns_reg_state ** dns_state_ptr, } mdnsd_conn_fd = DNSServiceRefSockFD(dns_state->srv_ref); + if (mdnsd_conn_fd < 0 || mdnsd_conn_fd >= FD_SETSIZE) { + return; + } FD_SET(mdnsd_conn_fd, listen_set); *maxfd = MAX(*maxfd, mdnsd_conn_fd); *timeout = timeval_zero(); |