Versions Compared

Key

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

...

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

int-division-by-zero

int-modulo-by-zero

Fully checked
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
LANG.ARITH.DIVZERO
LANG.ARITH.FDIVZERO
Division by zero
Float Division 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.)

Coverity
Include Page
Coverity_V
Coverity_V

DIVIDE_BY_ZERO

Fully 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

Klocwork
Include Page
Klocwork_V
Klocwork_V
DBZ.CONST
DBZ.CONST.CALL
DBZ.GENERAL
DBZ.ITERATOR

LDRA tool suite
Include Page
LDRA_V
LDRA_V

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

Partially implemented
Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V
BD-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
PRQA QA-C++
Include Page
cplusplus:PRQA QA-C++_V
cplusplus:PRQA QA-C++_V
2831, 2832, 2833, 2834
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S3518
PVS-Studio6.22V609General analysis rule

Related Vulnerabilities

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

...