Re: strdup or str_dup?

From: Daniel A. Koepke (dkoepke@california.com)
Date: 03/08/99


On Mon, 8 Mar 1999, Richard Glover wrote:

> Just curious, but where in this do you see a check for NULL?

I now quote what he said,

> >used.  Plus the Circle version can catch null strings, strdup() would

and point out your misinterpretation.  He didn't say str_dup() *does*, he
said it *can*.  Unless you're going to recompile your C library, you can't
make strdup() NULL safe.  You can, however, make str_dup() NULL safe.

Although why you'd want to isn't clear to me -- crashes aren't always bad
things.  If str_dup() is being called with a NULL string, which isn't
supposed to happen in most cases, then a crash with a core dump is useful.
If you don't want it to crash, then check if the string being passed to
str_dup() is NULL beforehand.  You can keep the MUD up by reporting an
error and just returning some standard string in str_dup(), but this
probably isn't desirable for all the potential uses of str_dup().  So just
let it crash instead of letting your broken code run and potentially
corrupt data.

-dak


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html  |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST