]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: staging: atomisp: fix the uninitialized use in gc2235_detect()
authorYizhuo <yzhai003@ucr.edu>
Sun, 11 Jul 2021 20:23:32 +0000 (22:23 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 30 Sep 2021 08:07:44 +0000 (10:07 +0200)
Inside function gc2235_detect(), variable "low" could be uninitialized
if ov5693_read_reg() returns error, however, it affects the value of
variable "id". The "id" is used in the later if statement, which is
potentially unsafe.

Link: https://lore.kernel.org/linux-media/20210711202334.27959-1-yzhai003@ucr.edu
Signed-off-by: Yizhuo <yzhai003@ucr.edu>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c

index 5e3670c4fc29fc0316b85a61e39155b67aca1f2f..6c95f57a52e97f9c331028942d9248289160659b 100644 (file)
@@ -1714,6 +1714,8 @@ static int ov5693_detect(struct i2c_client *client)
        }
        ret = ov5693_read_reg(client, OV5693_8BIT,
                              OV5693_SC_CMMN_CHIP_ID_L, &low);
+       if (ret)
+               return ret;
        id = ((((u16)high) << 8) | (u16)low);
 
        if (id != OV5693_ID) {