On Fri, Feb 23, 2024 at 09:29:39AM -0800, Kees Cook wrote:
> 3 bytes were being read but 4 were being written. Explicitly initialize
> the unused bytes to 0 and refactor the loop to use direct array
> indexing, which appears to silence a Clang false positive warning[1].

...

>       for_each_set_bit(chn, indio_dev->active_scan_mask,
> -             indio_dev->masklength) {
> -             memcpy(tmp_buf + i,
> +                      indio_dev->masklength) {
> +             memcpy(&tmp_buf[i++],
>                       &st->rx_buf[1] + chn * DLH_NUM_DATA_BYTES,
>                       DLH_NUM_DATA_BYTES);
> -             i++;
>       }

Not that I'm against the changes, but they (in accordance with the commit
message) are irrelevant to this fix. I prefer fixes to be more focused on
the real issues.

-- 
With Best Regards,
Andy Shevchenko



Reply via email to