From 5ef976aed5f891bf92d931a84e8cdcac1ad25cc6 Mon Sep 17 00:00:00 2001 From: goldsimon Date: Thu, 25 Mar 2010 12:19:39 +0000 Subject: [PATCH] Fixed bug #29332: lwip_select() processes readset incorrectly --- CHANGELOG | 3 +++ src/api/sockets.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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++;