Disculpa, el contenido de esta página no se puede mostrar en la lengua que seleccionaste.

Ir al contenido principal


Inicio 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.