Buffer Overflow Defenses. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle. http://sfsecurity.pr.erau.edu.
Language tools – “Safe” buffers
Example:  C++ class objects that do bounds checking like CString,  or “limitless” strings like libmib
Pros:
Much safer than standard string handling in C
Exceptions can be handled instead of a program halt
Cons:
Require the use of different library functions, meaning that existing code has to be modified or interfaced with in a low-level way
A “limitless” string has to continually be reallocated meaning a bigger heap and a performance cost
What if you don’t want the buffer to grow and accept a bigger input?