Opened 4 months ago

Closed 4 months ago

#19059 closed bug (duplicate)

fchdir() does not fail with EBADF when it should

Reported by: bhaible Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: System/POSIX Version: R1/beta5
Keywords: Cc:
Blocked By: #19048 Blocking:
Platform: All

Description

POSIX https://pubs.opengroup.org/onlinepubs/9799919799/functions/unlink.html specifies that the fchdir() function "shall fail" with error code EBADF if "The fildes argument is not an open file descriptor."

This does not work in Haiku hrev57823 (from 2024-07-15): it fails with error code EINVAL instead.

How to reproduce: Compile and run the attached test program.

gcc -Wall foo.c
./a.out

Expected output:

ret = -1, errno == EBADF
OK

Actual output:

ret = -1, errno == Invalid Argument
a.out: foo.c:21:main: ret < 0 && errno == EBADF
Kill Thread

Attachments (1)

foo.c (432 bytes ) - added by bhaible 4 months ago.
test case foo.c

Download all attachments as: .zip

Change History (2)

by bhaible, 4 months ago

Attachment: foo.c added

test case foo.c

comment:1 by waddlesplash, 4 months ago

Blocked By: 19048 added
Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.