[U-Boot] [PATCH 2/2] mtd: fix Coverity integer handling issue

Jagan Teki jagan at amarulasolutions.com
Fri Apr 12 05:32:00 UTC 2019


On Mon, Nov 19, 2018 at 1:42 AM Miquel Raynal <miquel.raynal at bootlin.com> wrote:
>
> A Coverity robot reported an integer handling issue
> (OVERFLOW_BEFORE_WIDEN) in the potentially overflowing expression:
>
>     (mtd_div_by_ws(mtd->size, mtd) - mtd_div_by_ws(offs, mtd)) *
>     mtd_oobavail(mtd, ops)
>
> While such overflow will certainly never happen due to the numbers
> handled, it is cleaner to fix this operation anyway.
>
> The problem is that all the maths include 32-bit quantities, while the
> result is stored in an explicit 64-bit value.
>
> As maxooblen will just be compared with a size_t, let's change the
> type of the variable to a size_t. This will not fix anything but will
> clarify a bit the situation. Then, do an explicit cast to fix Coverity
> warning.
>
> Addresses-Coverity-ID: 184180 ("Integer handling issues")
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
> ---

Applied to u-boot-spi/master


More information about the U-Boot mailing list