Re: [PATCH] sound: codecs: fix a potential NULL pointer dereference

From: Mukesh Ojha
Date: Mon Mar 25 2019 - 02:54:28 EST


Hi Kangjje/Aditya,

Please do take care of the return value you are sending upstream whether still is checked or not
otherwise NULL pointer dereference will still come.
Also resource release properly otherwise your patch may looks simple but it can introduce memory leak as well in other path.


Thanks,
Mukesh

On 3/25/2019 12:15 PM, Mukesh Ojha wrote:

On 3/25/2019 4:42 AM, Kangjie Lu wrote:
In case devm_kzalloc fails, the patch returns -ENOMEM to avoid
potential NULL pointer dereference.

Signed-off-by: Kangjie Lu <kjlu@xxxxxxx>
---
 sound/soc/codecs/rt5663.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sound/soc/codecs/rt5663.c b/sound/soc/codecs/rt5663.c
index da6647015708..909ab99a1995 100644
--- a/sound/soc/codecs/rt5663.c
+++ b/sound/soc/codecs/rt5663.c
@@ -3480,6 +3480,8 @@ static int rt5663_parse_dp(struct rt5663_priv *rt5663, struct device *dev)
ÂÂÂÂÂÂÂÂÂ table_size = sizeof(struct impedance_mapping_table) *
ÂÂÂÂÂÂÂÂÂÂÂÂÂ rt5663->pdata.impedance_sensing_num;
ÂÂÂÂÂÂÂÂÂ rt5663->imp_table = devm_kzalloc(dev, table_size, GFP_KERNEL);
+ÂÂÂÂÂÂÂ if (!rt5663->imp_table)
+ÂÂÂÂÂÂÂÂÂÂÂ return -ENOMEM;

add checks in rt5663_parse_dp as well.

Thanks.
Mukesh


device_property_read_u32_array(dev,
ÂÂÂÂÂÂÂÂÂÂÂÂÂ "realtek,impedance_sensing_table",
ÂÂÂÂÂÂÂÂÂÂÂÂÂ (u32 *)rt5663->imp_table, table_size);