On Feb 27 17:26, Christian Franke wrote: > Hi Corinna, > > Corinna Vinschen wrote: > > On Feb 27 13:18, Christian Franke wrote: > > > ... > > > > > > diff --git a/winsup/cygwin/errno.cc b/winsup/cygwin/errno.cc > > > index 7d58e62ec..d8c057e51 100644 > > > --- a/winsup/cygwin/errno.cc > > > +++ b/winsup/cygwin/errno.cc > > > @@ -167,8 +167,8 @@ const char *_sys_errlist[] = > > > /* ESTALE 133 */ "Stale NFS file handle", > > > /* ENOTSUP 134 */ "Not supported", > > > /* ENOMEDIUM 135 */ "No medium found", > > > -/* ENOSHARE 136 */ "No such host or network path", > > > -/* ECASECLASH 137 */ "Filename exists with different case", > > > + NULL, /* Was ENOSHARE 136, no longer used. */ > > > + NULL, /* Was ECASECLASH 137, no longer used. */ > > In terms of politenness, wouldn't it be better to define them as > > empty strings? This may be one crash less in already existing > > binaries... > > Indeed, I missed that case. Patch attached. > > Christian >
> From 151da4ef76f84cd0343e6f49aa23de398ca73d1c Mon Sep 17 00:00:00 2001 > From: Christian Franke <christian.fra...@t-online.de> > Date: Tue, 27 Feb 2024 17:21:45 +0100 > Subject: [PATCH 2/2] Cygwin: set ENOSHARE and ECASECLASH _sys_errlist[] > entries to empty > > These errno values are no longer used by Cygwin. Change the entries > to empty strings instead of NULL to avoid crashes in existing > binaries directly accessing the table. Enhance strerror_worker() > such that empty strings also result in "Unknown error ..." messages. > Also add a static_assert check for the _sys_errlist[] size. > > Signed-off-by: Christian Franke <christian.fra...@t-online.de> > --- > winsup/cygwin/errno.cc | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) Pushed. Thanks, Corinna