From 1e6a34af1e0737a481e715943c23d3e9ff8838ea Mon Sep 17 00:00:00 2001 From: Manoj Prabhu B Date: Mon, 6 Dec 2021 17:10:57 +0530 Subject: [PATCH] diag: Avoid possible out of bound access while sending masks Due to mask size wrongly calculated with incorrect range possible out of bound access is possible. Prevent the possibility by correcting the range. Change-Id: I1b8c50411a6fb17f9ca6e90c0646690953f3db0e Signed-off-by: Manoj Prabhu B --- drivers/char/diag/diag_masks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/char/diag/diag_masks.c b/drivers/char/diag/diag_masks.c index 4697f1912976..e132168c7044 100644 --- a/drivers/char/diag/diag_masks.c +++ b/drivers/char/diag/diag_masks.c @@ -1156,7 +1156,7 @@ static int diag_cmd_set_msg_mask(unsigned char *src_buf, int src_len, mask_size = MAX_SSID_PER_RANGE; mask->range_tools = MAX_SSID_PER_RANGE; mask->ssid_last_tools = - mask->ssid_first + mask->range_tools; + mask->ssid_first + mask->range_tools - 1; } if (ssid_range.ssid_last > mask->ssid_last_tools) { pr_debug("diag: Msg SSID range mismatch\n");