Brian Foster wrote:
> oh, b.t.w., if the array is dynamic (e.g., malloc(3)ed),
> then `valgrind' _does_ spot the error, albeit `splint'
> still does not, as per test below.
This being because valgrind places a non writable page after each
alloc'd similar to ElectricFence presumably ?!
Unfortunately, it (valgrind) probably can't do that with a stack frame,
unless someone could think of a very smart way, to, dynamically replace
a procedure prolog at runtime, when running under valgrind !!
I wonder if the following would be of any help ?
http://sourceforge.net/projects/boundschecking/
quote :
"This package adds full, fine-grained array bounds and pointer checking
to GCC (C only). The level of checking is similar to, and in some
respects exceeds, that of languages like Pascal and Modula-2."
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!