Fix denial of service - memory corruption.
[samba.git] / source3 / winbindd / winbindd_dual.c
index 44e8552e1ac564902a0cd7b60dfb78b5c1f6e059..117d55d2dacf214063bcccb5b4977edfc1fb664f 100644 (file)
@@ -1460,6 +1460,13 @@ static bool fork_domain_child(struct winbindd_child *child)
 
                FD_ZERO(&r_fds);
                FD_ZERO(&w_fds);
+
+               if (state.sock < 0 || state.sock >= FD_SETSIZE) {
+                       TALLOC_FREE(frame);
+                       perror("EBADF");
+                       _exit(1);
+               }
+
                FD_SET(state.sock, &r_fds);
                maxfd = state.sock;