A buffer overflow is where a software program writes data to a buffer beyond its allocated memory, overwriting adjacent memory locations. This occurs often in C/C++, and can be prevented with bound checking, but this requires additional code and instructions.

This is the focus of many primitive cybersecurity exploits. Attackers may write code into areas with executable code or change the state of a program; this allows malicious code to be injected and executed locally. Since the same operating system will use the same virtual memory locations, it tends to be the same on many systems running the same OS, i.e., they can guess where to inject to.