[PATCH] Avoid undefined behavior in __FD_MASK
Florian Weimer
fweimer@redhat.com
Fri Apr 12 18:23:00 GMT 2013
On 04/11/2013 10:32 PM, Roland McGrath wrote:
>> __fd_mask
>> should really be an unsigned type, but changing that is more risky.
>
> That really is the right fix (and then your change is unnecessary).
> What risks do you imagine with the type change?
The fd_bits member used to be part of the public API in the 90s, and
someone might point a long * variable to it. There's also a comment:
/* The fd_set member is required to be an array of longs. */
typedef long int __fd_mask;
If someone still has the discussion to Austin group issue bwg2001-005
(which led to the removal of the fd_bits member), it might shed some
light onto this.
But I'm probably overly conservative here.
--
Florian Weimer / Red Hat Product Security Team
More information about the Libc-alpha
mailing list