forked from Minki/linux
ieee80211: fix unaligned access in ieee80211_copy_snap
There is no guarantee that data+SNAP_SIZE will reside on an even numbered address, so doing a 16 bit read will cause an unaligned access in some situations. Based on a patch from Jun Sun. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
a10605e599
commit
01e1f045e6
@ -144,7 +144,8 @@ static int ieee80211_copy_snap(u8 * data, u16 h_proto)
|
||||
snap->oui[1] = oui[1];
|
||||
snap->oui[2] = oui[2];
|
||||
|
||||
*(u16 *) (data + SNAP_SIZE) = htons(h_proto);
|
||||
h_proto = htons(h_proto);
|
||||
memcpy(data + SNAP_SIZE, &h_proto, sizeof(u16));
|
||||
|
||||
return SNAP_SIZE + sizeof(u16);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user