From: Samuel Thibault Date: Thu, 5 May 2022 00:14:43 +0000 (+0200) Subject: hurd spawni: Fix reauthenticating closed fds X-Git-Tag: glibc-2.36~312 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eff158b75dee466ac0c37a17b2165072ee0b7aeb;p=thirdparty%2Fglibc.git hurd spawni: Fix reauthenticating closed fds When an fd is closed, the port cell remains, but the port becomes MACH_PORT_NULL, so we have to guard against it. --- diff --git a/sysdeps/mach/hurd/spawni.c b/sysdeps/mach/hurd/spawni.c index f19b688411e..ffc62e660e3 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 ();