Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tool

Version

Checker

Description

CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
LANG.ARITH.DIVZERODivision by zero

Compass/ROSE

  

Can detect some violations of this rule (In particular, it ensures that all operations involving division or modulo are preceded by a check ensuring that the second operand is nonzero.)

Coverity6.5DIVIDE_BY_ZEROFully implemented
Cppcheck
Include Page
Cppcheck_V
Cppcheck_V
zerodiv
zerodivcond

Context sensitive analysis of division by zero
Not detected for division by struct member / array element / pointer data that is 0
Detected when there is unsafe division by variable before/after test if variable is zero

Fortify SCA5.0 

Can detect violations of this rule with CERT C Rule Pack

LDRA tool suite

Include Page
LDRA_V
LDRA_V

43 D, 127 D, 248 S, 629 S, 80 X

Partially implemented
Parasoft C/C++test9.5BD-PB-ZEROFully implemented
Parasoft Insure++  Runtime detection
Polyspace Bug FinderR2016a

 

Integer division by zero, Tainted division operand, Tainted modulo operand 

Dividing integer number by zero

Division / operands from an unsecure source

Remainder % operands are from an unsecure source

PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v

2830 (C)
2831 (D)
2832 (A)
2833 (S)
2834 (P)

Fully implemented
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S3518 

...