ASoC: pxa: fix null-pointer dereference in filter()
authorZeng Heng <zengheng4@huawei.com>
Mon, 14 Nov 2022 08:56:29 +0000 (16:56 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:14:09 +0000 (13:14 +0100)
[ Upstream commit ec7bf231aaa1bdbcb69d23bc50c753c80fb22429 ]

kasprintf() would return NULL pointer when kmalloc() fail to allocate.
Need to check the return pointer before calling strcmp().

Fixes: 7a824e214e25 ("ASoC: mmp: add audio dma support")
Signed-off-by: Zeng Heng <zengheng4@huawei.com>
Link: https://lore.kernel.org/r/20221114085629.1910435-1-zengheng4@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/pxa/mmp-pcm.c

index 5d520e1..99b245e 100644 (file)
@@ -98,7 +98,7 @@ static bool filter(struct dma_chan *chan, void *param)
 
        devname = kasprintf(GFP_KERNEL, "%s.%d", dma_data->dma_res->name,
                dma_data->ssp_id);
-       if ((strcmp(dev_name(chan->device->dev), devname) == 0) &&
+       if (devname && (strcmp(dev_name(chan->device->dev), devname) == 0) &&
                (chan->chan_id == dma_data->dma_res->start)) {
                found = true;
        }