acl: fix division by float zero in test app
authorDaniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Fri, 22 Apr 2016 16:00:50 +0000 (18:00 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 27 Apr 2016 15:41:46 +0000 (17:41 +0200)
Fix issue reported by Coverity.
Coverity ID 13240

This could cause an immediate crash or incorrect computation.

In search_ip5tuples: An expression which may be zero is used
as a divisor in floating-point arithmetic.

divide_by_zero: In expression (long double)tm / pkt,
division by expression pkt which may be zero has undefined behavior.

Fixes: 26c057ab6c45 ("acl: new test-acl application")

Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
app/test-acl/main.c

index 0b0c093..d366981 100644 (file)
@@ -901,7 +901,7 @@ search_ip5tuples(__attribute__((unused)) void *arg)
                "%s  @lcore %u: %" PRIu32 " iterations, %" PRIu64 " pkts, %"
                PRIu32 " categories, %" PRIu64 " cycles, %#Lf cycles/pkt\n",
                __func__, lcore, i, pkt, config.run_categories,
-               tm, (long double)tm / pkt);
+               tm, (pkt == 0) ? 0 : (long double)tm / pkt);
 
        return 0;
 }