Re: [PATCH] sockaddr.3type: BUGS: Document that libc should be fixed using a union

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Formatted version:

BUGS
       sockaddr_storage was designed back when strict aliasing wasn’t a  prob‐
       lem.  Back then, one would define a variable of that type, and then ac‐
       cess it as any of the other sockaddr_* types, depending on the value of
       the  first  member.   This is Undefined Behavior.  However, there is no
       way to use these APIs without invoking Unedfined  Behavior,  either  in
       the  user  program  or  in libc, so it is still recommended to use this
       method.  The only correct way to use  different  types  in  an  API  is
       through  a  union.   However, that union must be implemented in the li‐
       brary, since the type must be shared between the library and user code,
       so libc should be fixed by implementing sockaddr_storage as a union.
--
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux