Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01ed379c authored by Luiz Augusto von Dentz's avatar Luiz Augusto von Dentz Committed by Greg Kroah-Hartman
Browse files

Bluetooth: bnep: Fix out-of-bound access



[ Upstream commit 0f0639b4d6f649338ce29c62da3ec0787fa08cd1 ]

This fixes attempting to access past ethhdr.h_source, although it seems
intentional to copy also the contents of h_proto this triggers
out-of-bound access problems with the likes of static analyzer, so this
instead just copy ETH_ALEN and then proceed to use put_unaligned to copy
h_proto separetely.

Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 29d8f0e0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -385,7 +385,8 @@ static int bnep_rx_frame(struct bnep_session *s, struct sk_buff *skb)

	case BNEP_COMPRESSED_DST_ONLY:
		__skb_put_data(nskb, skb_mac_header(skb), ETH_ALEN);
		__skb_put_data(nskb, s->eh.h_source, ETH_ALEN + 2);
		__skb_put_data(nskb, s->eh.h_source, ETH_ALEN);
		put_unaligned(s->eh.h_proto, (__be16 *)__skb_put(nskb, 2));
		break;

	case BNEP_GENERAL: