Skip to main content


Home Integer overflow

Integer overflow

(also integer wraparound)

Integer overflow definition

An integer overflow takes place when a computational operation generates a value exceeding the capacity of the assigned number of bits within a computer's memory. This may result in the value “rolling over” and transforming into a smaller, inaccurate figure. If not managed appropriately, integer overflows can contribute to unanticipated actions, software failures, or potential security risks.

An integer underflow occurs when an arithmetic operation results in a value that is too small to be represented by the designated number of bits. Like integer overflow, it can lead to unexpected behavior or vulnerabilities.

See also: buffer overflow attack

Integer overflow examples

  • If an 8-bit unsigned integer has a maximum value of 255, adding 1 to it will cause an integer overflow, wrapping the value back to 0.
  • In the infamous “Ariane 5” rocket incident, an integer overflow caused a guidance system failure, resulting in the rocket's destruction.

Pros and cons of integer overflows

Pros:

  • Can be used intentionally in some algorithms or data structures, like circular buffers, to achieve desired behavior.

Cons:

  • Can cause unpredictable behavior, software crashes, or security vulnerabilities if not handled properly.

Tips for handling integer overflows

  • Use programming languages or libraries that provide built-in protection against integer overflows.
  • Perform input validation to ensure that values do not exceed the limits of the data type.
  • Use defensive programming techniques, such as checking for overflows before performing arithmetic operations.