From cde0746b3c53b58347c9130d9fdf73a38cef9b81 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Mon, 14 Oct 2024 12:15:55 +0200 Subject: [PATCH] tools: Fix potential issue with select() in case the network fd is higher than the usbmux fd Thanks to @sleepinging for pointing this out. --- tools/iproxy.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/iproxy.c b/tools/iproxy.c index 1bb9e77..6849ef9 100644 --- a/tools/iproxy.c +++ b/tools/iproxy.c @@ -169,10 +169,11 @@ static void *acceptor_thread(void *arg) FD_ZERO(&fds); FD_SET(cdata->fd, &fds); FD_SET(cdata->sfd, &fds); + int maxfd = cdata->fd > cdata->sfd ? cdata->fd : cdata->sfd; while (1) { fd_set read_fds = fds; - int ret_sel = select(cdata->sfd+1, &read_fds, NULL, NULL, NULL); + int ret_sel = select(maxfd+1, &read_fds, NULL, NULL, NULL); if (ret_sel < 0) { perror("select"); break;