Decorate struct in6_addr with the __packed attribute

This avoids undefined behavior when accessing misaligned pointers.

Detected by kUBSan.

Patch by Akul Pillai.
This commit is contained in:
kamil 2019-05-28 03:56:46 +00:00
parent 6bbc511673
commit 5762fe1be2
1 changed files with 2 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: in6.h,v 1.94 2018/12/10 16:28:52 christos Exp $ */
/* $NetBSD: in6.h,v 1.95 2019/05/28 03:56:46 kamil Exp $ */
/* $KAME: in6.h,v 1.83 2001/03/29 02:55:07 jinmei Exp $ */
/*
@ -126,7 +126,7 @@ struct in6_addr {
__uint16_t __u6_addr16[8];
uint32_t __u6_addr32[4];
} __u6_addr; /* 128-bit IP6 address */
};
} __packed;
#define s6_addr __u6_addr.__u6_addr8
#ifdef _KERNEL /* XXX nonstandard */