On Mon, 8 Mar 1999, Daniel A. Koepke wrote:
>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.
I suppose it could be interesting for those people who must have uptime and
don't want a nasty oversight being player exploitable.
some header:
#define str_dup(x) my_str_dup(x, __FILE__, __LINE__)
some C file:
#undef str_dup
char my_str_dup(const char *dup, const char *file, int line)
{
if (!dup) {
log("SYSERR: NULL str_dup from %s:%d", file, line);
return NULL;
}
return str_dup(dup);
}
Or just add it to the real str_dup.
--
George Greer | CircleMUD Snippets
greerga@circlemud.org | http://mouse.van.m-l.org/snippets/
+------------------------------------------------------------+
| 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