From: Ilya Maximets Date: Tue, 22 Sep 2015 09:27:15 +0000 (+0300) Subject: poll-loop: Fix assertion in poll_create_node(). X-Git-Tag: v2.5.0~548 X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=ae09fae8a6b43299a628ae0989fe2fedb924d560 poll-loop: Fix assertion in poll_create_node(). Zero is a valid value for a file descriptor. Reported-by: Nikita Kalyazin Signed-off-by: Ilya Maximets Signed-off-by: Ben Pfaff --- diff --git a/AUTHORS b/AUTHORS index 9f1d7c19a..1ccbf1548 100644 --- a/AUTHORS +++ b/AUTHORS @@ -80,6 +80,7 @@ Hao Zheng hzheng@nicira.com Helmut Schaa helmut.schaa@googlemail.com Huanle Han hanxueluo@gmail.com Ian Campbell Ian.Campbell@citrix.com +Ilya Maximets i.maximets@samsung.com Isaku Yamahata yamahata@valinux.co.jp James P. roampune@gmail.com James Page james.page@ubuntu.com @@ -326,6 +327,7 @@ Mikael Doverhag mdoverhag@nicira.com Mrinmoy Das mrdas@ixiacom.com Nagi Reddy Jonnala njonnala@Brocade.com Niels van Adrichem N.L.M.vanAdrichem@tudelft.nl +Nikita Kalyazin n.kalyazin@samsung.com Niklas Andersson nandersson@nicira.com Pankaj Thakkar thakkar@nicira.com Pasi Kärkkäinen pasik@iki.fi diff --git a/lib/poll-loop.c b/lib/poll-loop.c index 3c4b55c88..36eb5ac89 100644 --- a/lib/poll-loop.c +++ b/lib/poll-loop.c @@ -104,7 +104,7 @@ poll_create_node(int fd, HANDLE wevent, short int events, const char *where) COVERAGE_INC(poll_create_node); /* Both 'fd' and 'wevent' cannot be set. */ - ovs_assert(!fd != !wevent); + ovs_assert(fd == -1 || !wevent); /* Check for duplicate. If found, "or" the events. */ node = find_poll_node(loop, fd, wevent); @@ -159,7 +159,7 @@ poll_fd_wait_at(int fd, short int events, const char *where) void poll_wevent_wait_at(HANDLE wevent, const char *where) { - poll_create_node(0, wevent, 0, where); + poll_create_node(-1, wevent, 0, where); } #endif /* _WIN32 */