Subject: Re: sanity checking arguments to library functions...
To: None <lukem@cs.rmit.edu.au>
From: Giles Lean <giles@nemeton.com.au>
List: tech-userlevel
Date: 04/14/1999 01:59:38
On Tue, 13 Apr 1999 23:27:02 +1000 Luke Mewburn wrote:
> an idea that came up a while ago was to add stuff to all libc functions
> to sanity check arguments (e.g, fgets(char *buf, int n, FILE *fp) having
> buf != NULL && fp != NULL, etc)
We do (null) already in printf. The rot has kinda set in already. :-)
> * all of this code would be #ifdef LIBC_DIAGNOSTIC
Good.
Would this also be run time settable, i.e. if using a library with
LIBC_DIAGNOSTIC would the startup code also check for LIBC_DIAGNOSTIC
in the environment to tell if a process wants the checks? And
possibly to choose between warnings and immediate failure?
> - syslog "function __file__ __line__ ..." (my
> preferred ;)
Better than warn().
> * have the failure mode one of:
> - dump core using abort() (my preferred ;)
If there is to be a failure mode, this is the one I like. exit(1) is
frivolous -- it says nothing.
Ciao,
Giles