diff --git a/CHANGELOG b/CHANGELOG index 25ed5713..c979f18b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -169,6 +169,9 @@ HISTORY ++ Bugfixes: + 2010-03-25: Simon Goldschmidt + * sockets.c: Fixed bug #29332: lwip_select() processes readset incorrectly + 2010-03-25: Simon Goldschmidt * tcp_in.c, test_tcp_oos.c: Fixed bug #29080: Correctly handle remote side overrunning our rcv_wnd in ooseq case. diff --git a/src/api/sockets.c b/src/api/sockets.c index 21e0d1bc..1d0524e3 100644 --- a/src/api/sockets.c +++ b/src/api/sockets.c @@ -998,7 +998,7 @@ lwip_selscan(int maxfdp1, fd_set *readset_in, fd_set *writeset_in, fd_set *excep SYS_ARCH_UNPROTECT(lev); /* ... then examine it: */ /* See if netconn of this socket is ready for read */ - if (readset_in && FD_ISSET(i, readset_in) && (lastdata != NULL) || (rcvevent > 0)) { + if (readset_in && FD_ISSET(i, readset_in) && ((lastdata != NULL) || (rcvevent > 0))) { FD_SET(i, &lreadset); LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_selscan: fd=%d ready for reading\n", i)); nready++;