Re: [PATCH] iio: adc: ad_sigma_delta.c: Cleaning up uninitialized variables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/01/2014 01:51 PM, Rickard Strandqvist wrote:
Hi

Believe it reacted to the code below.

If raw_sample = 0 is the correct starting value, I am not sure. But
leaving it uninitialized, I think is the worst choice.


     if (ret < 0)
         goto out;

     ret = ad_sd_read_reg(sigma_delta, AD_SD_REG_DATA,
         DIV_ROUND_UP(chan->scan_type.realbits + chan->scan_type.shift, 8),
         &raw_sample);
....
out:
....

you skipped the:

    if (ret)
        return ret;

that is here.

     sample = raw_sample >> chan->scan_type.shift;


The code is a bit confusing and it is understandable that a static checker might generate a false positive. The fix though is not to silence the false positive as this will hide actual problems if they should come up by future modifications of the code.


Best regards
Rickard Strandqvist


2014-06-01 11:15 GMT+02:00 Lars-Peter Clausen <lars@xxxxxxxxxx>:
On 06/01/2014 01:11 AM, Rickard Strandqvist wrote:

There is a risk that the variable will be used without being initialized.

This was largely found by using a static code analysis program called
cppcheck.


This looks like a false positive. And if it was not a false positive the
correct fix certainly is not to initialize the variable to some random value
to silence the warning.

- Lars


--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux