On Sep 14 2022, Samuel Thibault wrote: > diff --git a/sysdeps/mach/hurd/readlink.c b/sysdeps/mach/hurd/readlink.c > index 770462714f..2d75ef7725 100644 > --- a/sysdeps/mach/hurd/readlink.c > +++ b/sysdeps/mach/hurd/readlink.c > @@ -31,7 +31,7 @@ __readlink (const char *file_name, char *buf, size_t len) > file_t file; > struct stat64 st; > > - file = __file_name_lookup (file_name, O_READ | O_NOLINK, 0); > + file = __file_name_lookup (file_name, O_NOLINK, 0); > if (file == MACH_PORT_NULL) > return -1; > > @@ -41,6 +41,9 @@ __readlink (const char *file_name, char *buf, size_t len) > { > char *rbuf = buf; > > + __mach_port_deallocate (__mach_task_self (), file); > + file = __file_name_lookup (file_name, O_READ | O_NOLINK, 0);
How do you know that file_name still points at the same thing? -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."