Mail Archives: djgpp/1997/06/18/02:19:12
On Tue, 17 Jun 1997, Nate Eldredge wrote:
> Is there a "correct" thing for write() to do when passed a null buffer? This
> code:
>
> write(fd,NULL,count);
>
> ...assuming reasonable values for fd and count, under Linux returns -1 and
> sets errno to EFAULT ("Bad address"). Under djgpp, however, it sends a
> SIGSEGV. Is this correct? What does POSIX / ANSI have to say?
It is generally preferred to have functions return EFAULT instead of
crashing. It's just that doing this test in each and every library
function would really slow down the programs. I suggest you submit
the necessary patches anyhow.
I don't have POSIX handy (ANSI doesn't know about EFAULS or SIGSEGV,
and `write' is non-ANSI anyway, so ANSI is irrelevant), therefore I
don't know what's POSIX policy on these. DJ?
- Raw text -