[dpdk-dev] app/test_acl: fix division by float zero

Message ID 1461340850-202703-1-git-send-email-danielx.t.mrzyglod@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Daniel Mrzyglod April 22, 2016, 4 p.m. UTC
  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>
---
 app/test-acl/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Ananyev, Konstantin April 22, 2016, 3:15 p.m. UTC | #1
> -----Original Message-----
> From: Mrzyglod, DanielX T
> Sent: Friday, April 22, 2016 5:01 PM
> To: Ananyev, Konstantin
> Cc: dev@dpdk.org; Mrzyglod, DanielX T
> Subject: [PATCH] app/test_acl: fix division by float zero
> 
> 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>
  
Thomas Monjalon April 27, 2016, 2:14 p.m. UTC | #2
> > 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>

Applied, thanks
  

Patch

diff --git a/app/test-acl/main.c b/app/test-acl/main.c
index 0b0c093..d366981 100644
--- a/app/test-acl/main.c
+++ b/app/test-acl/main.c
@@ -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;
 }