A NOTE has been added to this issue. ====================================================================== https://austingroupbugs.net/view.php?id=1641 ====================================================================== Reported By: bastien Assigned To: ====================================================================== Project: 1003.1(2016/18)/Issue7+TC2 Issue ID: 1641 Category: System Interfaces Type: Clarification Requested Severity: Editorial Priority: normal Status: Interpretation Required Name: Bastien Roucaries Organization: debian User Reference: Section: sys/socket.h Page Number: Application usage Line Number: sockaddr_storage Interp Status: Proposed Final Accepted Text: see https://austingroupbugs.net/view.php?id=1641#c6262 ====================================================================== Date Submitted: 2023-03-18 07:52 UTC Last Modified: 2023-04-21 15:24 UTC ====================================================================== Summary: sockaddr_storage is not alias safe ======================================================================
---------------------------------------------------------------------- (0006268) eblake (manager) - 2023-04-21 15:24 https://austingroupbugs.net/view.php?id=1641#c6268 ---------------------------------------------------------------------- Comment from Alejandro Colomar at https://sourceware.org/pipermail/libc-alpha/2023-April/147547.html: The wording I see in <https://austingroupbugs.net/view.php?id=1641#c6262> doesn't seem to cover the case of aliasing a sockaddr_storage as a protocol-specific address for setting other members. Aliasing rules don't allow one to declare an object of type sockaddr_storage and then fill the structure as if it were another structure, even if alignment and size are correct. We would need some wording that says something like: When a pointer to a sockaddr_storage structure is first aliased as a pointer to a protocol-specific address structure, the effective type of the object will be set to the protocol-specific structure. This is similar to what happens when malloc(3) is assigned to a non-character type. That's a big hammer, but it does the job. Maybe we would need some looser language? I CCd GCC, in case they have concerns about this wording. Issue History Date Modified Username Field Change ====================================================================== 2023-03-18 07:52 bastien New Issue 2023-03-18 07:52 bastien Name => Bastien Roucaries 2023-03-18 07:52 bastien Organization => debian 2023-03-18 07:52 bastien Section => sys/socket.h 2023-03-18 07:52 bastien Page Number => Application usage 2023-03-18 07:52 bastien Line Number => sockaddr_storage 2023-03-18 07:53 bastien Note Added: 0006207 2023-03-18 07:53 bastien Issue Monitored: bastien 2023-03-20 13:20 wlerch Note Added: 0006208 2023-03-20 13:38 bastien Note Added: 0006209 2023-03-20 23:06 steffen Note Added: 0006211 2023-03-21 12:01 hvd Note Added: 0006212 2023-03-21 23:09 sam_james Note Added: 0006215 2023-03-21 23:33 steffen Note Added: 0006216 2023-03-22 09:42 bastien Note Added: 0006217 2023-03-22 21:56 steffen Note Added: 0006227 2023-03-30 15:20 eblake Note Added: 0006238 2023-03-30 15:22 eblake Interp Status => --- 2023-03-30 15:22 eblake Final Accepted Text => see https://austingroupbugs.net/view.php?id=1641#c6238 2023-03-30 15:22 eblake Status New => Resolved 2023-03-30 15:22 eblake Resolution Open => Accepted As Marked 2023-03-30 15:22 eblake Tag Attached: issue8 2023-04-03 16:31 eblake Status Resolved => Under Review 2023-04-03 16:31 eblake Resolution Accepted As Marked => Reopened 2023-04-03 16:36 eblake Note Added: 0006249 2023-04-03 22:42 steffen Note Added: 0006253 2023-04-03 22:44 steffen Note Added: 0006254 2023-04-06 15:42 eblake Note Added: 0006255 2023-04-06 15:43 eblake Interp Status --- => Pending 2023-04-06 15:43 eblake Final Accepted Text see https://austingroupbugs.net/view.php?id=1641#c6238 => see https://austingroupbugs.net/view.php?id=1641#c6255 2023-04-06 15:43 eblake Status Under Review => Interpretation Required 2023-04-06 15:43 eblake Resolution Reopened => Accepted As Marked 2023-04-06 15:44 eblake Tag Attached: tc3-2008 2023-04-06 15:44 eblake Tag Detached: issue8 2023-04-06 19:24 eblake Note Added: 0006257 2023-04-06 20:50 steffen Note Added: 0006258 2023-04-06 20:55 steffen Note Added: 0006259 2023-04-06 21:08 steffen Note Added: 0006260 2023-04-07 04:53 ajosey Interp Status Pending => Proposed 2023-04-07 04:53 ajosey Note Added: 0006261 2023-04-13 15:45 eblake Note Added: 0006262 2023-04-13 15:46 eblake Final Accepted Text see https://austingroupbugs.net/view.php?id=1641#c6255 => see https://austingroupbugs.net/view.php?id=1641#c6262 2023-04-13 15:48 eblake Note Edited: 0006255 2023-04-13 15:50 eblake Note Edited: 0006255 2023-04-14 15:20 agadmin Note Added: 0006263 2023-04-21 15:24 eblake Note Added: 0006268 ======================================================================