[Openipmi-developer] [patch] ipmi_ssif: silence an uninitialized variable warning
My static checker complains that "ret" could be zero here. (Presumably that means the hardware is badly busted). But the result would be that the caller assumes *resp_len is initialized when it's not and it leads to a warning. Let's just silence the warning. Signed-off-by: Dan Carpenterdiff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c index 8b3be8b..512c5b6 100644 --- a/drivers/char/ipmi/ipmi_ssif.c +++ b/drivers/char/ipmi/ipmi_ssif.c @@ -1232,6 +1232,8 @@ static int do_cmd(struct i2c_client *client, int len, unsigned char *msg, break; } + if (ret == 0) + ret = -EINVAL; if (ret > 0) { /* Validate that the response is correct. */ if (ret < 3 || -- Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer
Re: [Openipmi-developer] [patch] ipmi_ssif: silence an uninitialized variable warning
On 04/04/2016 06:16 AM, Dan Carpenter wrote: > My static checker complains that "ret" could be zero here. (Presumably > that means the hardware is badly busted). But the result would be that > the caller assumes *resp_len is initialized when it's not and it leads > to a warning. Let's just silence the warning. I don't think i2c_smbus_read_block_data() can return a zero, it's either an error or a message. I'm ok with this, but can you add a comment saying why this is here? I don't like strange looking code without explanations. Thanks, -corey > Signed-off-by: Dan Carpenter> > diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c > index 8b3be8b..512c5b6 100644 > --- a/drivers/char/ipmi/ipmi_ssif.c > +++ b/drivers/char/ipmi/ipmi_ssif.c > @@ -1232,6 +1232,8 @@ static int do_cmd(struct i2c_client *client, int len, > unsigned char *msg, > break; > } > > + if (ret == 0) > + ret = -EINVAL; > if (ret > 0) { > /* Validate that the response is correct. */ > if (ret < 3 || -- ___ Openipmi-developer mailing list Openipmi-developer@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openipmi-developer