When an fd is closed, the port cell remains, but the port becomes
MACH_PORT_NULL, so we have to guard against it.
---
sysdeps/mach/hurd/spawni.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sysdeps/mach/hurd/spawni.c b/sysdeps/mach/hurd/spawni.c
index f19b688411..ffc62e660e 100644
--- a/sysdeps/mach/hurd/spawni.c
+++ b/sysdeps/mach/hurd/spawni.c
@@ -154,7 +154,7 @@ __spawni (pid_t *pid, const char *file,
reauthenticated, or was newly opened on behalf of the child. */
error_t reauthenticate_fd (int fd)
{
- if (dtable_cells[fd] != NULL)
+ if (dtable_cells[fd] != NULL && dtable[fd] != MACH_PORT_NULL)
{
file_t newfile;
mach_port_t ref = __mach_reply_port ();
--
2.35.1