[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Expected msgrcv(2) behaviour with msgsz > SSIZE_MAX ?
While running LTP (Linux Testsuite Project) testcases under
compat_linux on my -current NetBSD/amd64 workstation, i discovered
that a testcase for msgrcv(2) syscall with msgsz < 0 was hanging
instead of failing with EINVAL.
Looking into this one, i noticed that the syscall man page state that
a negative msgsz value make it fail with errno set to EINVAL, but the
corresponding code does not seems to match.
As size_t type is unsigned, this can never happen ... But, at the same
time, the OpenGroup specification says that `msgsz > SSIZE_MAX' is
implementation dependant (test i can easily convert to `(ssize_t)msgsz
< 0', which was probably meant).
I'm pretty sure that our implementation does handle this nicely. Can
someone confirm that both man page and compat linux emulation needs to
be fixed ?
Biological Software and Databanks.
Institut Pasteur, Paris.
Main Index |
Thread Index |