Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Apr 2008 02:38:54 -0700 (PDT)
From:      Simun Mikecin <numisemis@yahoo.com>
To:        mwm-keyword-freebsdhackers2.e313df@mired.org
Cc:        hackers@freebsd.org
Subject:   Re: strdup(NULL) supposed to create SIGSEGV?
Message-ID:  <251738.1147.qm@web36602.mail.mud.yahoo.com>

next in thread | raw e-mail | index | archive | help
>Yes, it's supposed to segfault. Check out what, say, strcpy does if
>you ask it to copy a NULL pointer. And this is an improvement from the
>bad old days, when they would happily walk through memory starting at
>0.....
>Besides, errno is used to signal errors from system calls. strdup
>isn't a system call, it's a library function (says so at the top of
>the man page).
>Do you have examples of systems where strdup doesn't behave this way?

According to Open Group strdup should return NULL and set errno. Look at:
http://www.opengroup.org/onlinepubs/009695399/functions/strdup.html

There is no valid argument for doing segfault instead of above behavior.



      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?251738.1147.qm>