[PATCH 3/3] platform: fix missing sigisemptyset

walter harms wharms at bfs.de
Wed Nov 27 14:55:55 UTC 2013



Am 27.11.2013 15:21, schrieb Denys Vlasenko:
> On Wed, Nov 27, 2013 at 2:46 AM, Rich Felker <dalias at aerifal.cx> wrote:
>> On Tue, Nov 26, 2013 at 10:01:36PM +0200, Daniel Borca wrote:
>>> +#ifndef HAVE_SIGISEMPTYSET
>>> +int sigisemptyset(sigset_t *set)
>>> +{
>>> +     sigset_t empty;
>>> +     int ret = sigemptyset(&empty);
>>> +     if (ret == 0) {
>>> +             ret = !memcmp(&empty, set, sizeof(sigset_t));
>>> +     }
>>> +     return ret;
>>> +}
>>> +#endif
>>
>> This is not a suitable fallback implementation. It's not needed on
>> musl (we provide sigisemptyset), but if this version were used, it
>> would give the wrong results, because musl's sigemptyset only fills
>> the first _NSIG-1 bits and ignores the remaining ~900 bits of junk in
>> sigset_t.
> 
> Why does musl use such pointlessly huge sigset_t?


i would expect a warning here. ret is int and memcopy returns (void *).
This makes int=void*.

re,
 wh



More information about the busybox mailing list