]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: codecs: avoid possible garbage value in peb2466_reg_read()
authorSu Hui <suhui@nfschina.com>
Wed, 11 Sep 2024 11:54:50 +0000 (19:54 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Sep 2024 17:24:10 +0000 (19:24 +0200)
[ Upstream commit 38cc0334baabc5baf08a1db753de521e016c0432 ]

Clang static checker (scan-build) warning:
sound/soc/codecs/peb2466.c:232:8:
Assigned value is garbage or undefined [core.uninitialized.Assign]
  232 |                 *val = tmp;
      |                      ^ ~~~

When peb2466_read_byte() fails, 'tmp' will have a garbage value.
Add a judgemnet to avoid this problem.

Fixes: 227f609c7c0e ("ASoC: codecs: Add support for the Infineon PEB2466 codec")
Signed-off-by: Su Hui <suhui@nfschina.com>
Link: https://patch.msgid.link/20240911115448.277828-1-suhui@nfschina.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/codecs/peb2466.c

index 5dec69be0acb2eece6fbc030f02a2640ef8d910e..06c83d2042f3e56ac24f02e7c86bebb040f07264 100644 (file)
@@ -229,7 +229,8 @@ static int peb2466_reg_read(void *context, unsigned int reg, unsigned int *val)
        case PEB2466_CMD_XOP:
        case PEB2466_CMD_SOP:
                ret = peb2466_read_byte(peb2466, reg, &tmp);
-               *val = tmp;
+               if (!ret)
+                       *val = tmp;
                break;
        default:
                dev_err(&peb2466->spi->dev, "Not a XOP or SOP command\n");