summaryrefslogtreecommitdiff
path: root/drivers/media/i2c/ov2740.c
diff options
context:
space:
mode:
authorColin Ian King <colin.king@canonical.com>2020-11-26 12:49:32 +0100
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-12-02 16:08:58 +0100
commitcf10e09b9a4b28fe6df3fe8fc851fb2c4bd18a14 (patch)
tree0d370da3d73f723b52747483e5364f4dfdb5758c /drivers/media/i2c/ov2740.c
parent91807efbe8ec7f591085067d9f96a112e015274b (diff)
media: ov2740: fix dereference before null check on pointer nvm
Currently pointer nvm is being dereferenced before it is being null checked. Fix this by moving the assignments of pointers client and ov2740 so that are after the null check hence avoiding any potential null pointer dereferences on pointer nvm. Fixes: 5e6fd339b68d ("media: ov2740: allow OTP data access during streaming") Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media/i2c/ov2740.c')
-rw-r--r--drivers/media/i2c/ov2740.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/i2c/ov2740.c b/drivers/media/i2c/ov2740.c
index 99016546cbec..b41a90c2aed5 100644
--- a/drivers/media/i2c/ov2740.c
+++ b/drivers/media/i2c/ov2740.c
@@ -600,8 +600,8 @@ static void ov2740_update_pad_format(const struct ov2740_mode *mode,
static int ov2740_load_otp_data(struct nvm_data *nvm)
{
- struct i2c_client *client = nvm->client;
- struct ov2740 *ov2740 = to_ov2740(i2c_get_clientdata(client));
+ struct i2c_client *client;
+ struct ov2740 *ov2740;
u32 isp_ctrl00 = 0;
u32 isp_ctrl01 = 0;
int ret;
@@ -612,6 +612,9 @@ static int ov2740_load_otp_data(struct nvm_data *nvm)
if (nvm->nvm_buffer)
return 0;
+ client = nvm->client;
+ ov2740 = to_ov2740(i2c_get_clientdata(client));
+
nvm->nvm_buffer = kzalloc(CUSTOMER_USE_OTP_SIZE, GFP_KERNEL);
if (!nvm->nvm_buffer)
return -ENOMEM;