[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 6502 illegal opcodes questions



Lyrical Nanoha wrote:
On Sat, 10 Jun 2006, Michael J. Mahon wrote:

For over a decade I have preached to anyone who would listen that the
biggest design error in C is its use of null-terminated strings.  This
inherently insecure data representation makes unsafe programming easy
and safe programming harder.

Security demands that *all* data moves into fixed space handle the case
where the data does not fit.  Yet programmers seduced by the "cuteness"
of null-termination argue against fixing this no-brainer security lapse.

Count-prefixed strings can also be very efficiently implemented, as can
count-controlled move loops for null-terminated strings (the obvious fix
for C).


I'd like to suggest that perhaps an alternate runtime library for C can be coded on a few systems, "libnewc" perhaps, that includes, among other things, better ways of handling strings. C's mechanism is very limited and the null termination thing doesn't help.

But the part of the problem is that many programmers wrote the simple
"for"-loop-until-null string copy right into their code.

-michael

Parallel computing for 8-bit Apple II's!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it is seriously underused."