
-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Biwen Li (OSS) Sent: Friday, July 10, 2020 7:24 AM To: Rasmus Villemoes rasmus.villemoes@prevas.dk; Biwen Li (OSS) biwen.li@oss.nxp.com; Jagdish Gediya jagdish.gediya@nxp.com; Priyanka Jain priyanka.jain@nxp.com Cc: Jiafei Pan jiafei.pan@nxp.com; u-boot@lists.denx.de Subject: RE: [EXT] Re: [PATCH] rtc: pcf2127: fix uninitialized variable msg
On 09/07/2020 13.38, Biwen Li wrote:
On 09/07/2020 12.58, Biwen Li wrote:
From: Biwen Li biwen.li@nxp.com
Fix uninitialized variable msg
struct dm_i2c_chip *chip = dev_get_parent_platdata(dev);
struct i2c_msg msg;
struct i2c_msg msg = {0}; int ret; /* Set the address of the start register to be read */
I assume it's the
msg.flags |= I2C_M_RD;
line that is warned about (please include such info)? Isn't the right fix to replace that by
msg.flags = I2C_M_RD;
?
Two lines("struct i2c msg;" and "msg.flags |= I2C_M_RD") are warned by
build system.
What? That doesn't make sense. Perhaps your compiler is just friendly enough to show you the declaration of the struct i2c_msg, but clearly declaring an automatic variable without initializing it is not, by itself, wrong. Otherwise "int ret;" in that very same function should be warned about, and 100000 other instances in any code base written in C.
Please show the exact output from the compiler and the compiler version.
Sorry, acctually not build system. It's code analysis tool.
Can you please update subject or description stating that you are fixing issue reported by static analysis tool coverity
Thanks Priyanka
Such as: Declaring variable msg without initializer. (struce i2c_msg msg;) Uninitialized scalar variable (UNINIT), uninit_use: Using uninitialized value msg.flags.(msg.flags |= I2C_M_RD)
Initializing msg variable will be better.
No, understanding the cause of the warning and fixing that is clearly better.
Rasmus