strlen on a NULL
Guy Gascoigne - Piggford
ggp@informix.com
Wed May 13 23:14:00 GMT 1998
At 08:14 AM 5/13/98 +0200, you wrote:
>I discovered the same behaviour, on most UNIX systems you'll receive a
>Signal (Bus Error e.g.). Better check all vectors before doing something
>with them, like 'strlen'. By the way, in 'free' it's getting worse,
>because you must also check not for pointing to a 'Zero', this causes a
crash.
void * p = 0;
free(p);
This is completely valid (though somewhat contrived), and defined to be
safe by the ANSI C standard. However all of the mem... and str... require
valid, readable (and for many functions, writable) pointers. On NT and a
fair number of Unixs 0 is not readable or writable.
Guy
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".
More information about the Cygwin
mailing list