[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MacOS strerror_r [was: [PATCH 2/2] strerror: work around FreeBSD bug]
From: |
Eric Blake |
Subject: |
MacOS strerror_r [was: [PATCH 2/2] strerror: work around FreeBSD bug] |
Date: |
Wed, 08 Jun 2011 05:38:27 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.10 |
On 06/07/2011 09:50 PM, Eric Blake wrote:
>> strerror(0) misbehavior. Hmm, while FreeBSD was setting EINVAL to make
>> the failure explicit, MacOS is claiming success while still outputting
>> "Unknown error: 0". I'll fix that with a strstr() test in the .m4 files.
>
> Oh hideous.
>
> strerror(0) => Unknown error: 0
> strerror_r(0,buf,len) => Undefined error: 0
> strerror(-1) => Unknown error: -1
> strerror_r(-1,buf,len) => Unknown error: -1
>
> I don't think POSIX requires the same strings for the two
> implementations, but MacOS is the first implementation where the strings
> are intentionally different, but only for a single errnum value. Fix
> coming up soon.
I fixed that, and found the next bug:
$ ./foo 1 23
Operation not permitte(34)
$ ./foo 1 24
Operation not permitted(0)
Ouch. MacOS is _silently_ writing a NUL byte beyond the array bounds,
if the input buffer size is exactly equal to strlen(message size).
--
Eric Blake address@hidden +1-801-349-2682
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- Re: [PATCHv2] strerror: drop strerror_r dependency, (continued)
- [PATCH 1/2] strerror-override: avoid bloating errno module, Eric Blake, 2011/06/06
- [PATCH 2/2] strerror: work around FreeBSD bug, Eric Blake, 2011/06/06
- Re: [PATCH 2/2] strerror: work around FreeBSD bug, Bruno Haible, 2011/06/07
- Re: [PATCH 2/2] strerror: work around FreeBSD bug, Eric Blake, 2011/06/07
- Re: [PATCH 2/2] strerror: work around FreeBSD bug, Eric Blake, 2011/06/07
- MacOS strerror_r [was: [PATCH 2/2] strerror: work around FreeBSD bug],
Eric Blake <=
- Re: MacOS strerror_r, Eric Blake, 2011/06/08
- Re: [PATCH 2/2] strerror: work around FreeBSD bug, Eric Blake, 2011/06/08
Re: [PATCHv2] strerror: drop strerror_r dependency, Bruno Haible, 2011/06/04