[dpdk-dev] examples/netmap_compat: fix infinite loop
Commit Message
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>
---
examples/netmap_compat/lib/compat_netmap.c | 5 +++++
1 file changed, 5 insertions(+)
Comments
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Michal Kobylinski
> Sent: Friday, April 22, 2016 11:47 AM
> To: Richardson, Bruce <bruce.richardson@intel.com>; dev@dpdk.org
> Cc: Kobylinski, MichalX <michalx.kobylinski@intel.com>
> Subject: [dpdk-dev] [PATCH] examples/netmap_compat: fix infinite loop
>
>
> + if (timeout > 0) {
> + ret = -1;
> + return ret;
> + }
> +
return -1; without the braces is probably okay in this case.
@@ -865,6 +865,11 @@ 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) {
+ ret = -1;
+ return ret;
+ }
+
ret = 0;
do {
for (i = 0; i < nfds; i++) {