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

Commit 72255c80 authored by Colin Ian King's avatar Colin Ian King Committed by Kalle Valo
Browse files

ray_cs: fix array out-of-bounds access



Currently array element org[3] is being accessed, however the array is
only 3 elements in size, so this looks like an off-by-one out-of-bounds
error. Fix this by using org[2], which I believe was the original
intent.

This issue has existed in the driver back in the pre-git days, so no
idea when it was introduced.

Detected by CoverityScan, CID#711344 ("Out-of-bounds read")
Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent ba2ffc96
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -959,7 +959,7 @@ static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx,
		if (proto == htons(ETH_P_AARP) || proto == htons(ETH_P_IPX)) {
			/* This is the selective translation table, only 2 entries */
			writeb(0xf8,
			       &((struct snaphdr_t __iomem *)ptx->var)->org[3]);
			       &((struct snaphdr_t __iomem *)ptx->var)->org[2]);
		}
		/* Copy body of ethernet packet without ethernet header */
		memcpy_toio((void __iomem *)&ptx->var +