From 34447b6401906647e3a0ed40f6419ca645fd4833 Mon Sep 17 00:00:00 2001 From: "C.S.M" Date: Fri, 25 Apr 2025 15:41:14 +0800 Subject: [PATCH] fix(i2c): Fix some i2c coverity issue --- components/esp_driver_i2c/i2c_master.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/esp_driver_i2c/i2c_master.c b/components/esp_driver_i2c/i2c_master.c index 0821c486f2..562e6788a3 100644 --- a/components/esp_driver_i2c/i2c_master.c +++ b/components/esp_driver_i2c/i2c_master.c @@ -386,6 +386,8 @@ static void s_i2c_start_end_command(i2c_master_bus_handle_t i2c_master, i2c_oper } uint8_t addr_write[addr_byte]; uint8_t addr_read[addr_byte]; + memset(addr_write, 0, sizeof(addr_write)); + memset(addr_read, 0, sizeof(addr_read)); if (addr_byte != 0) { addr_write[0] = I2C_ADDRESS_TRANS_WRITE(cmd_address); @@ -1360,7 +1362,8 @@ esp_err_t i2c_master_execute_defined_operations(i2c_master_dev_handle_t i2c_dev, ESP_RETURN_ON_FALSE(i2c_operation != NULL, ESP_ERR_INVALID_ARG, TAG, "i2c operation pointer is invalid"); ESP_RETURN_ON_FALSE(operation_list_num <= (SOC_I2C_CMD_REG_NUM), ESP_ERR_INVALID_ARG, TAG, "i2c command list cannot contain so many commands"); - i2c_operation_t i2c_ops[operation_list_num] = {}; + i2c_operation_t i2c_ops[operation_list_num]; + memset(i2c_ops, 0, sizeof(i2c_ops)); for (int i = 0; i < operation_list_num; i++) { switch (i2c_operation[i].command) { case I2C_MASTER_CMD_START: