i2c: npcm: restore slave addresses array length
authorTyrone Ting <kfting@nuvoton.com>
Fri, 30 Aug 2024 03:46:34 +0000 (11:46 +0800)
committerAndi Shyti <andi.shyti@kernel.org>
Mon, 9 Sep 2024 22:36:46 +0000 (00:36 +0200)
The smatch check warning is "buffer overflow 'npcm_i2caddr' 2 <= 9".
The original design supports 10 target addresses although only 2
addresses are required for current implementation.

Restore the npcm_i2caddr array length to fix the smatch warning.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202408130818.FgDP5uNm-lkp@intel.com/
Signed-off-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-npcm7xx.c

index 2fe68615942efeb3b3b6d8df28ac53a1a38d4136..bbcb4d6668ce63c3af978a855aa36d2ccdb7ecc8 100644 (file)
@@ -136,11 +136,13 @@ enum i2c_addr {
  * Since the addr regs are sprinkled all over the address space,
  * use this array to get the address or each register.
  */
-#define I2C_NUM_OWN_ADDR 2
+#define I2C_NUM_OWN_ADDR 10
 #define I2C_NUM_OWN_ADDR_SUPPORTED 2
 
 static const int npcm_i2caddr[I2C_NUM_OWN_ADDR] = {
-       NPCM_I2CADDR1, NPCM_I2CADDR2,
+       NPCM_I2CADDR1, NPCM_I2CADDR2, NPCM_I2CADDR3, NPCM_I2CADDR4,
+       NPCM_I2CADDR5, NPCM_I2CADDR6, NPCM_I2CADDR7, NPCM_I2CADDR8,
+       NPCM_I2CADDR9, NPCM_I2CADDR10,
 };
 #endif