From: ggp@informix.com (Guy Gascoigne - Piggford)
Subject: Re: strlen on a NULL
14 May 1998 06:09:02 -0700
Message-ID: <3.0.3.32.19980513111941.00a4b550.cygnus.gnu-win32@pop.pdx.informix.com>
References: <199805130614.IAA05154@dic.k8.rt.bosch.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
To: Carsten.Roedel@rt.bosch.de (Carsten Roedel K8/DIC2 Tel. 4276)
Cc: gnu-win32@cygnus.com

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".
