This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: strlen on a NULL
- To: ian at kiwiplan dot co dot nz, Kjeld dot F dot Christensen at dxd dot ericsson dot se
- Subject: Re: strlen on a NULL
- From: Carsten dot Roedel at rt dot bosch dot de (Carsten Roedel K8/DIC2 Tel. 4276)
- Date: Wed, 13 May 1998 08:14:18 +0200
- Cc: gnu-win32 at cygnus dot com
>
> > If I do a strlen on a NULL pointer I get a coredump.
> > I have the same code running on a few *other* Unix machines with
> > exhibiting this behaviour.
> > OK, so I could tidy it up, but I wondered is this an oversight or the
> > correct behaviour?
>
> I just observed the same problem.
> The differnce lies in where the core is located. A UNIX core starts from
> ZERO, and thus you are allowed to read from a NULL pointer on UNIX, as
> You read from your code.
>
> On NT your process may lie anywhere, but never in ZERO, Thus you are not
> permitted to read from adress NULL. (You are not allowed to snoop around
> in the interrupt vetors!)
>
> So this is the explanation!
>
> Kjeld
>
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.
:-)
Carsten
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".