Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 24 May 2016 15:07:35 -0700
From: William Ahern <>
Subject: sockaddr_storage and GCC 6.1

GCC 6.1 more aggressively decomposes aggregate assignments into a series of
scalar member assignments. This has uncovered an issue with glibc's layout
of struct sockaddr_storage, which has a padding hole from offsets 2 to 8,
precisely where .sin_port and .sin_addr are in struct sockaddr_in.

musl shares this same issue. Specifically, the __ss_align member with an
8-byte alignment on LP64 archs. You can track the glibc resolution at

Or not track it. Reasonable folks can disagree regarding many aspects of
this issue, but I thought it worthwhile to bring to people's attention.

- Bill

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.