[dpdk-dev,v2] examples/netmap_compat: fix infinite loop

Message ID 1461763361-9054-1-git-send-email-michalx.kobylinski@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Michal Kobylinski April 27, 2016, 1:22 p.m. UTC
  Fix issue reported by Coverity.

Coverity ID 30701: Infinite loop: The loop does not have a normal
termination condition, so will continue until an abnormal condition
arises. In rte_netmap_poll: Infinite loop with unsatisfiable exit
condition.

Fixes: 06371afe394d ("examples/netmap_compat: import netmap
compatibility example")

Signed-off-by: Michal Kobylinski <michalx.kobylinski@intel.com>
---
v2:
- removed braces
- changed return value on -1

 examples/netmap_compat/lib/compat_netmap.c | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Thomas Monjalon May 16, 2016, 4:54 p.m. UTC | #1
2016-04-27 15:22, Michal Kobylinski:
> Fix issue reported by Coverity.
> 
> Coverity ID 30701: Infinite loop: The loop does not have a normal
> termination condition, so will continue until an abnormal condition
> arises. In rte_netmap_poll: Infinite loop with unsatisfiable exit
> condition.
> 
> Fixes: 06371afe394d ("examples/netmap_compat: import netmap
> compatibility example")
> 
> Signed-off-by: Michal Kobylinski <michalx.kobylinski@intel.com>

Applied, thanks
  

Patch

diff --git a/examples/netmap_compat/lib/compat_netmap.c b/examples/netmap_compat/lib/compat_netmap.c
index bf1b418..112c551 100644
--- a/examples/netmap_compat/lib/compat_netmap.c
+++ b/examples/netmap_compat/lib/compat_netmap.c
@@ -865,6 +865,9 @@  rte_netmap_poll(struct pollfd *fds, nfds_t nfds, int timeout)
 	uint32_t i, idx, port;
 	uint32_t want_rx, want_tx;
 
+	if (timeout > 0)
+		return -1;
+
 	ret = 0;
 	do {
 		for (i = 0; i < nfds; i++) {