mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-06-09 00:42:51 -04:00
Fix an unaligned access on OpenBSD/sparc64
The pointer to the packet content doesn't seem to be word-aligned, resulting in a SIGBUS when accessing it as a pointer to struct ip that contains bit fields. Replace with struct openvpn_iphdr and OPENVPN_IPH_GET_VER, which only does a one byte access and thus isn't affected by alignement. Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <87ink3vpcs.fsf@ritchie.wxcvbn.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg14769.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
parent
d89e14d926
commit
3e4e300d6c
1 changed files with 3 additions and 3 deletions
|
|
@ -1654,11 +1654,11 @@ write_tun_header(struct tuntap *tt, uint8_t *buf, int len)
|
|||
{
|
||||
u_int32_t type;
|
||||
struct iovec iv[2];
|
||||
struct ip *iph;
|
||||
struct openvpn_iphdr *iph;
|
||||
|
||||
iph = (struct ip *) buf;
|
||||
iph = (struct openvpn_iphdr *) buf;
|
||||
|
||||
if (iph->ip_v == 6)
|
||||
if (OPENVPN_IPH_GET_VER(iph->version_len) == 6)
|
||||
{
|
||||
type = htonl(AF_INET6);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue