Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.bugs.dist > #1264774
| From | Matthew Vernon <matthew@debian.org> |
|---|---|
| Newsgroups | linux.debian.bugs.dist |
| Subject | Bug#1111781: electric-fence: incorrect usage of strerror_r() |
| Date | 2025-10-05 13:10 +0200 |
| Message-ID | <LCuMN-2UIW-1@gated-at.bofh.it> (permalink) |
| References | <Lmkop-9lyc-3@gated-at.bofh.it> <Lmkop-9lyc-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi, Thanks for the detailed bug report. On 21/08/2025 21:36, Chris Packham wrote: > But according to strerror(3) there are two possible implementations of strerror_r(). > > int strerror_r(int errnum, char *buf, size_t buflen); > /* XSI-compliant */ > > char *strerror_r(int errnum, char *buf, size_t buflen); > /* GNU-specific */ > > strerror_r(): > The XSI-compliant version is provided if: > (_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE > Otherwise, the GNU-specific version is provided. > > GCC-14 now has _POSIX_C_SOURCE set to something higher than 200112L so we > appear to be getting the XSI compliant version of strerror_r() so simply adding > a cast is insufficient (and may lead to a null deference by the caller of > stringErrorReport()). This probably needs to be written as > > static char err_message[128]; > strerror_r(errno, err_message,128); > return err_message; > > Or something should define _GNU_SOURCE to get the old behaviour. I think you're right that the fix to 1074933 was incorrect, but I wonder whether we should behave differently based on the feature test macros that are set (i.e. that efence should be able to cope with either version of strerror_r)? so something like #if (_POSIX_C_SOURCE >= 200112L) && ! _GNU_SOURCE/* expect int return */#else /* expect char * return */#endif? Regards, Matthew
Back to linux.debian.bugs.dist | Previous | Next — Next in thread | Find similar | Unroll thread
Bug#1111781: electric-fence: incorrect usage of strerror_r() Matthew Vernon <matthew@debian.org> - 2025-10-05 13:10 +0200 Bug#1111781: electric-fence: incorrect usage of strerror_r() Chris Packham <Chris.Packham@alliedtelesis.co.nz> - 2025-10-05 22:20 +0200
csiph-web