dsp: q6adm: Resolve mem corruption in adm cb

Conversion of negative "num_modules" var value
will result in max possible unsigned int value
and hence can cause mem corruption when accessed.

Resolve this by assigning the same data type
to "num_modules" var as used in the calling fn.

Change-Id: I4c9d7215b9c7345637e1eb3a1992a41fef71c5cb
Signed-off-by: Soumya Managoli <quic_c_smanag@quicinc.com>
This commit is contained in:
Soumya Managoli 2023-04-05 15:46:55 +05:30 committed by Michael Bestas
parent 6a6c39028e
commit 13d3be4ddf
No known key found for this signature in database
GPG key ID: CC95044519BE6669

View file

@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/module.h>
#include <linux/slab.h>
@ -1550,7 +1551,7 @@ static int32_t adm_callback(struct apr_client_data *data, void *priv)
{
uint32_t *payload;
int port_idx, copp_idx, idx, client_id;
int num_modules;
uint32_t num_modules;
int ret;
if (data == NULL) {