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
integer-overflowFully checked
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

ALLOC.SIZE.ADDOFLOW
ALLOC.SIZE.IOFLOW
ALLOC.SIZE.MULOFLOW
ALLOC.SIZE.SUBUFLOW
MISC.MEM.SIZE.ADDOFLOW
MISC.MEM.SIZE.BAD
MISC.MEM.SIZE.MULOFLOW
MISC.MEM.SIZE.SUBUFLOW

Addition overflow of allocation size
Integer overflow of allocation size
Multiplication overflow of allocation size
Subtraction underflow of allocation size
Addition overflow of size
Unreasonable size argument
Multiplication overflow of size
Subtraction underflow of size

Compass/ROSE

 

 

Can detect violations of this rule by ensuring that operations are checked for overflow before being performed (Be mindful of exception INT30-EX2 because it excuses many operations from requiring validation, including all the operations that would validate a potentially dangerous operation. For instance, adding two unsigned ints together requires validation involving subtracting one of the numbers from UINT_MAX, which itself requires no validation because it cannot wrap.)

Coverity
Include Page
Coverity_V
Coverity_V
INTEGER_OVERFLOWImplemented
Klocwork
Include Page
Klocwork_V
Klocwork_V
NUM.OVERFLOW
CWARN.NOEFFECT.OUTOFRANGE
 
LDRA tool suite
Include Page
LDRA_V
LDRA_V
493 S, 494 SPartially implemented
Polyspace Bug FinderR2016aUnsigned integer overflowOverflow from operation between unsigned integers
PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v

2910 (C)
2911 (D)
2912 (A)
2913 (S)

Partially implemented
RuleChecker
Include Page
RuleChecker_V
RuleChecker_V
integer-overflowFully checked

Related Vulnerabilities

CVE-2009-1385 results from a violation of this rule. The value performs an unchecked subtraction on the length of a buffer and then adds those many bytes of data to another buffer [xorl 2009]. This can cause a buffer overflow, which allows an attacker to execute arbitrary code.

...