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

Commit 97e91808 authored by Manoj Prabhu B's avatar Manoj Prabhu B
Browse files

diag: Check command size against the minimum before parsing



Add check for minimum length before typecasting to build mask
structure to prevent out of bound access while processing
get msg mask command.

CRs-Fixed: 2431047
Change-Id: I5b8341f278b0b46359800e43c604c5671261c728
Signed-off-by: default avatarManoj Prabhu B <bmanoj@codeaurora.org>
parent 3d91e789
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2008-2018, The Linux Foundation. All rights reserved.
/* Copyright (c) 2008-2019, The Linux Foundation. All rights reserved.
 */

#include <linux/slab.h>
@@ -695,7 +695,7 @@ static int diag_cmd_get_msg_mask(unsigned char *src_buf, int src_len,

	mask_info = (!info) ? &msg_mask : info->msg_mask;
	if (!src_buf || !dest_buf || src_len <= 0 || dest_len <= 0 ||
	    !mask_info) {
	    !mask_info || (src_len < sizeof(struct diag_build_mask_req_t))) {
		pr_err("diag: Invalid input in %s, src_buf: %pK, src_len: %d, dest_buf: %pK, dest_len: %d, mask_info: %pK\n",
		       __func__, src_buf, src_len, dest_buf, dest_len,
		       mask_info);