diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2013-12-24 06:42:05 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-01-07 05:48:46 -0500 |
commit | c0ee62734e8e840b0096827f02b1aaac71ef5105 (patch) | |
tree | 47869a1a50d362bc48d81b3e1be72b7d50e90036 | |
parent | 7296e158b5a3340f44b64c86240e07922406e1c3 (diff) |
[media] s5k5baf: Fix potential NULL pointer dereferencing
Dereference 'fw' after the NULL check.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r-- | drivers/media/i2c/s5k5baf.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/i2c/s5k5baf.c b/drivers/media/i2c/s5k5baf.c index 974b865c2ee1..4b8381111cbd 100644 --- a/drivers/media/i2c/s5k5baf.c +++ b/drivers/media/i2c/s5k5baf.c | |||
@@ -548,12 +548,14 @@ static void s5k5baf_synchronize(struct s5k5baf *state, int timeout, u16 addr) | |||
548 | static u16 *s5k5baf_fw_get_seq(struct s5k5baf *state, u16 seq_id) | 548 | static u16 *s5k5baf_fw_get_seq(struct s5k5baf *state, u16 seq_id) |
549 | { | 549 | { |
550 | struct s5k5baf_fw *fw = state->fw; | 550 | struct s5k5baf_fw *fw = state->fw; |
551 | u16 *data = fw->data + 2 * fw->count; | 551 | u16 *data; |
552 | int i; | 552 | int i; |
553 | 553 | ||
554 | if (fw == NULL) | 554 | if (fw == NULL) |
555 | return NULL; | 555 | return NULL; |
556 | 556 | ||
557 | data = fw->data + 2 * fw->count; | ||
558 | |||
557 | for (i = 0; i < fw->count; ++i) { | 559 | for (i = 0; i < fw->count; ++i) { |
558 | if (fw->seq[i].id == seq_id) | 560 | if (fw->seq[i].id == seq_id) |
559 | return data + fw->seq[i].offset; | 561 | return data + fw->seq[i].offset; |