helper/binarybuffer: fix clang static analyzer warnings
Writing bits to an uninitialized buffer generated false warnings. Zero buffers before setting them by buf_set_u32|64() (do it only if bit-by-bit copy loop is used, zeroed buffer is not necessary if a fast path write is used) Change-Id: I2f7f8ddb45b0cbd08d3e249534fc51f4b5cc6694 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/5383 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
This commit is contained in:
@@ -533,7 +533,7 @@ static int etm_read_reg_w_check(struct reg *reg,
|
||||
fields[0].check_mask = NULL;
|
||||
|
||||
fields[1].num_bits = 7;
|
||||
uint8_t temp1;
|
||||
uint8_t temp1 = 0;
|
||||
fields[1].out_value = &temp1;
|
||||
buf_set_u32(&temp1, 0, 7, reg_addr);
|
||||
fields[1].in_value = NULL;
|
||||
@@ -541,7 +541,7 @@ static int etm_read_reg_w_check(struct reg *reg,
|
||||
fields[1].check_mask = NULL;
|
||||
|
||||
fields[2].num_bits = 1;
|
||||
uint8_t temp2;
|
||||
uint8_t temp2 = 0;
|
||||
fields[2].out_value = &temp2;
|
||||
buf_set_u32(&temp2, 0, 1, 0);
|
||||
fields[2].in_value = NULL;
|
||||
@@ -620,13 +620,13 @@ static int etm_write_reg(struct reg *reg, uint32_t value)
|
||||
fields[0].in_value = NULL;
|
||||
|
||||
fields[1].num_bits = 7;
|
||||
uint8_t tmp2;
|
||||
uint8_t tmp2 = 0;
|
||||
fields[1].out_value = &tmp2;
|
||||
buf_set_u32(&tmp2, 0, 7, reg_addr);
|
||||
fields[1].in_value = NULL;
|
||||
|
||||
fields[2].num_bits = 1;
|
||||
uint8_t tmp3;
|
||||
uint8_t tmp3 = 0;
|
||||
fields[2].out_value = &tmp3;
|
||||
buf_set_u32(&tmp3, 0, 1, 1);
|
||||
fields[2].in_value = NULL;
|
||||
|
||||
Reference in New Issue
Block a user