diff options
author | Wesley Moore <wes@wezm.net> | 2017-07-23 19:54:43 +1000 |
---|---|---|
committer | Wesley Moore <wes@wezm.net> | 2017-08-05 15:04:39 +1000 |
commit | 6ea77da65132e782167705fc2f6963fc82728460 (patch) | |
tree | 83d059e5a5b258b1eb72a543461a1b10f943dcc7 /CHANGELOG.md | |
parent | 000366ca6657691c3c09a2333d4d982e2ce6d53d (diff) | |
download | nix-6ea77da65132e782167705fc2f6963fc82728460.zip |
Correct access of cmsg ancillary data on first header
Also updates cmsg types to match structs on non-Linux OSes.
The implementation of CmsgInterator did not correctly mirror the
way the CMSG_FIRSTHDR and CMSG_NEXTHDR macros work in C. CMSG_FIRSTHDR
does not attempt to align access since the pointer is already aligned
due to being part of the msghdr struct.
CmsgInterator was always aligning access which happened to work on all
platforms except OpenBSD where the use of alignment was adding
unexpected bytes to the expected size and causing the
`cmsg_align(cmsg_len) > self.buf.len()` guard clause to return early.
Diffstat (limited to 'CHANGELOG.md')
0 files changed, 0 insertions, 0 deletions