diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 60b0a531f4235ad206bc16e1e4736182d7e1375c..d2a270259a8cc084d7ba3a2c8e33e06c6845c11b 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -3835,6 +3835,9 @@ void Worker::waitForInput() int fdMax = 0; for (auto & i : children) { for (auto & j : i.fds) { + if (j >= FD_SETSIZE) { + throw BuildError("reached FD_SETSIZE limit"); + } FD_SET(j, &fds); if (j >= fdMax) fdMax = j + 1; }