||SQL Server Tips by Gama and Naughter
Avoiding buffer overflows
There are no definitive solutions to this
problem but it is very important to consider security issues when
coding. You should also test and review the code with security
concerns in mind.
Here are some ideas:
Define limits (bounds) for the size of
buffers and never let the size come directly or indirectly from
Verify that the limits are not violated
before accessing the buffer.
Use string and memory functions that
require an explicit size limit (for example strncpy instead of
Use functions that limit the input data
size (for example fgets instead of scanf).
Use strlen carefully because the
terminating NULL might be missing.
Be careful with functions that do not
NULL terminate the destination string.
Use tools to scan for vulnerabilities.
RATS-source code review tool that
understands C, C++, Python, Perl, and PHP.
Splint-tool for statically checking C
programs for security vulnerabilities.
ITS4-Static Vulnerability Scanner for C and C++ Code
The above book excerpt is from:
Turbocharge Database Performance with C++ External Procedures
Joseph Gama, P. J. Naughter