Linux MIPS Architecture development
 help / color / mirror / Atom feed
* pread and pwrite
@ 2002-07-17  9:03 Carsten Langgaard
  2002-07-17 13:59 ` Ralf Baechle
  0 siblings, 1 reply; 5+ messages in thread
From: Carsten Langgaard @ 2002-07-17  9:03 UTC (permalink / raw)
  To: H. J. Lu, Ralf Baechle, linux-mips

I'm running some tests from LTP, which tests pread and pwrite.
It look like pread/pwrite doesn't do any check, if they are called with
'buf =NULL' or 'offset < 0', and no error is return.
If I look in glibc in sysdeps/generic/pread.c it look like this:

ssize_t
__libc_pread (int fd, void *buf, size_t nbytes, off_t offset)
{
  if (nbytes == 0)
    return 0;
  if (fd < 0)
    {
      __set_errno (EBADF);
      return -1;
    }
  if (buf == NULL || offset < 0)
    {
      __set_errno (EINVAL);
      return -1;
    }

  __set_errno (ENOSYS);
  return -1;
}

Here there is some checking for sane values and a proper error value is
return.
I guess this routine is replaced, if we have the syscall implemented
with the sysdeps/unix/sysv/linux/mips/pread.c file.
Here there is no check for sane values, is there any reason why ?
The same thing goes for pwrite.

/Carsten

--
_    _ ____  ___   Carsten Langgaard   Mailto:carstenl@mips.com
|\  /|||___)(___   MIPS Denmark        Direct: +45 4486 5527
| \/ |||    ____)  Lautrupvang 4B      Switch: +45 4486 5555
  TECHNOLOGIES     2750 Ballerup       Fax...: +45 4486 5556
                   Denmark             http://www.mips.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-07-18 17:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-17  9:03 pread and pwrite Carsten Langgaard
2002-07-17 13:59 ` Ralf Baechle
2002-07-17 14:18   ` Carsten Langgaard
2002-07-17 19:01     ` H. J. Lu
2002-07-17 20:14       ` Carsten Langgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox