In computer security and programming, a buffer overflow, or buffer overrun, is an anomaly where a program, while writing data to a buffer, overruns the buffer's boundary and overwrites adjacent memory. This is a special case of violation of memory safety.
Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program operates. This may result in erratic program behavior, including memory access errors, incorrect results, a crash, or a breach of system security. Thus, they are the basis of many software vulnerabilities and can be maliciously exploited.
Programming languages commonly associated with buffer overflows include C and C++, which provide no built-in protection against accessing or overwriting data in any part of memory and do not automatically check that data written to an array (the built-in buffer type) is within the boundaries of that array. Bounds checking can prevent buffer overflows.
Read more about Buffer Overflow: Technical Description, Exploitation, Protective Countermeasures, History
Famous quotes containing the word overflow:
“Oh! that thy love might overflow my Heart!
To fire the same with Love: for Love I would.
But oh! my streightned Breast! my Lifeless Sparke!
My Fireless Flame! What Chilly Love, and Cold?
In measure small! In Manner Chilly! See!
Lord, blow the Coal: Thy Love Enflame in mee.”
—Edward Taylor (16451729)