Commit c68b2081 authored by Axel Lin's avatar Axel Lin Committed by Dmitry Torokhov

Input: twl4030_keypad - fix potential NULL dereference in twl4030_kp_probe()

We should first check whether platform data is NULL or not, before
dereferencing it to get the keymap.
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Reviewed-by: default avatarFelipe Balbi <balbi@ti.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 90843383
...@@ -332,7 +332,7 @@ static int __devinit twl4030_kp_program(struct twl4030_keypad *kp) ...@@ -332,7 +332,7 @@ static int __devinit twl4030_kp_program(struct twl4030_keypad *kp)
static int __devinit twl4030_kp_probe(struct platform_device *pdev) static int __devinit twl4030_kp_probe(struct platform_device *pdev)
{ {
struct twl4030_keypad_data *pdata = pdev->dev.platform_data; struct twl4030_keypad_data *pdata = pdev->dev.platform_data;
const struct matrix_keymap_data *keymap_data = pdata->keymap_data; const struct matrix_keymap_data *keymap_data;
struct twl4030_keypad *kp; struct twl4030_keypad *kp;
struct input_dev *input; struct input_dev *input;
u8 reg; u8 reg;
...@@ -344,6 +344,8 @@ static int __devinit twl4030_kp_probe(struct platform_device *pdev) ...@@ -344,6 +344,8 @@ static int __devinit twl4030_kp_probe(struct platform_device *pdev)
return -EINVAL; return -EINVAL;
} }
keymap_data = pdata->keymap_data;
kp = kzalloc(sizeof(*kp), GFP_KERNEL); kp = kzalloc(sizeof(*kp), GFP_KERNEL);
input = input_allocate_device(); input = input_allocate_device();
if (!kp || !input) { if (!kp || !input) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment