No argument - base C "strings" (null terminated char[]) are a PITA from C programmers POV, since you must ever vigilant. Good programming practices and standards are key. Besides the obvious use of strncpy(), strncat(), etc, BSD (considered by most as the most secure *nix OS) encourages strlcpy() and strlcat() - (http://www.courtesan.com/todd/papers/strlcpy.html )
But other metal-level language implementations are not care free - consider length-prefixed strings - the programmer must still check lengths before moving data. Higher level languages where objects (not just variables) is strongly typed and programmers can't manipulate memory directly are considerably safer from these sorts of attack vectors. And C is probably here to stay (consider IFL sales) :-) Kirk Wolf Dovetailed Technologies http://dovetail.com PS> As an attempt to tie back to the original thread - consider the new transaction instructions. Since all Java array bounds and pointer derefs must be checked, it makes it difficult to tightly inline the machine instructions that are generated at run time. With the new transaction instructions, you can inline the happy path only. (Or at least that is my fuzzy understanding) ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN