diff mbox

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

Message ID 1302590871.17965.1.camel@phoenix (mailing list archive)
State New, archived
Headers show

Commit Message

axel lin April 12, 2011, 6:47 a.m. UTC
We should first check whether platform data is NULL or not, before
dereferencing it to get the keymap.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
---
 drivers/input/keyboard/twl4030_keypad.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

Comments

Dmitry Torokhov April 12, 2011, 6:50 a.m. UTC | #1
On Tue, Apr 12, 2011 at 02:47:51PM +0800, Axel Lin wrote:
> We should first check whether platform data is NULL or not, before
> dereferencing it to get the keymap.
> 
> Signed-off-by: Axel Lin <axel.lin@gmail.com>
> Reviewed-by: Felipe Balbi <balbi@ti.com>

Hmm, I thought I already applied it but I guess I managed to loose it.
Let's try again...

Thanks.
diff mbox

Patch

diff --git a/drivers/input/keyboard/twl4030_keypad.c b/drivers/input/keyboard/twl4030_keypad.c
index cc06c4b..a26922c 100644
--- a/drivers/input/keyboard/twl4030_keypad.c
+++ b/drivers/input/keyboard/twl4030_keypad.c
@@ -332,7 +332,7 @@  static int __devinit twl4030_kp_program(struct twl4030_keypad *kp)
 static int __devinit twl4030_kp_probe(struct platform_device *pdev)
 {
 	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 input_dev *input;
 	u8 reg;
@@ -344,6 +344,8 @@  static int __devinit twl4030_kp_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
+	keymap_data = pdata->keymap_data;
+
 	kp = kzalloc(sizeof(*kp), GFP_KERNEL);
 	input = input_allocate_device();
 	if (!kp || !input) {