[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220128112007.GA24806@kili>
Date: Fri, 28 Jan 2022 14:20:07 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: Liam Girdwood <lgirdwood@...il.com>
Cc: Mark Brown <broonie@...nel.org>, Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, alsa-devel@...a-project.org,
linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org
Subject: [PATCH 1/2] ASoC: ops: fix signedness bug in snd_soc_put_volsw()
The "val" and "val2" variables need to signed for the checking to work
as intended.
Fixes: 817f7c9335ec ("ASoC: ops: Reject out of bounds values in snd_soc_put_volsw()")
Signed-off-by: Dan Carpenter <dan.carpenter@...cle.com>
---
sound/soc/soc-ops.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-ops.c b/sound/soc/soc-ops.c
index dc0e7c8d31f3..0091fa96eb48 100644
--- a/sound/soc/soc-ops.c
+++ b/sound/soc/soc-ops.c
@@ -310,8 +310,9 @@ int snd_soc_put_volsw(struct snd_kcontrol *kcontrol,
unsigned int invert = mc->invert;
int err;
bool type_2r = false;
- unsigned int val2 = 0;
- unsigned int val, val_mask;
+ unsigned int val_mask;
+ int val2 = 0;
+ int val;
if (sign_bit)
mask = BIT(sign_bit + 1) - 1;
--
2.20.1
Powered by blists - more mailing lists