NOTICE: Due to a lapse in annual appropriations, most of this website is not being updated. Learn more.
Form submissions will still be accepted but will not receive responses at this time. Sections of this site for programs using non-appropriated funds (such as NVLAP) or those that are excepted from the shutdown (such as CHIPS and NVD) will continue to be updated.
An official website of the United States government
Here’s how you know
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
Secure .gov websites use HTTPS
A lock (
) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.
Defeating Buffer Overflow: One of the Most Trivial and Dangerous Bugs of All!
Published
Author(s)
Paul E. Black, Irena Bojanova
Abstract
The C programming language was invented over 40 years ago. It is infamous for buffer overflows. We have learned a lot about computer science, language design, and software engineering since then. As it is unlikely that we will stop using C any time soon, we present some ways to deal with buffer overflows. By the way, many of these techniques are useful for other programing languages and other classes of vulnerabilities.
Black, P.
and Bojanova, I.
(2016),
Defeating Buffer Overflow: One of the Most Trivial and Dangerous Bugs of All!, IEEE IT Professional, [online], https://doi.org/10.1109/MITP.2016.117, https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=921507
(Accessed October 2, 2025)