Skip to main content


Home Overrun

Overrun

Overrun definition

Overrun refers to a situation where data is written or read beyond the allocated buffer or memory space. An overrun can occur when the program or system tries to write data to a buffer that is already full or when it tries to read data from a buffer that is insufficient to hold the amount of data being requested.

See also: data corruption

Common effects of overruns:

  • Data corruption. By overwriting or modifying data that is stored in adjacent memory locations, it can cause errors or crashes.
  • Data loss. It can corrupt or overwrite critical data, leading to unresponsiveness and data loss.
  • Security vulnerabilities. It can open holes in security and allow attackers to execute malicious code or gain unauthorized access to a system.
  • Reduced performance. It can reduce app performance by increasing the amount of time it takes to process data or perform certain operations.

How to prevent overruns?

  • Buffer sizing. It’s critical to ensure buffers are properly sized.
  • Bounds checking. Techniques such as range checking and length checking can help verify that input data is within the expected range before processing it.
  • Memory protection. Memory protection mechanisms can help protect memory regions from unauthorized access or modification.
  • Input validation. This involves checking that input data meets certain criteria, such as a specific data type or format.