mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-16 05:58:49 +00:00
cmd: mtd: avoid unintentional integer overflow
mtd dump beyond 4 GiB will show incorrect results.
Multiplying two u32 will yield a u32. Add a missing cast.
Fixes: 5db66b3aee
("cmd: mtd: add 'mtd' command")
Addresses-Coverity-ID: 477205 ("Unintentional integer overflow")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/all/20240111073155.19545-1-heinrich.schuchardt@canonical.com
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
This commit is contained in:
parent
697758e7c8
commit
6b37320c76
1 changed files with 2 additions and 2 deletions
|
@ -77,7 +77,7 @@ static void mtd_dump_device_buf(struct mtd_info *mtd, u64 start_off,
|
|||
|
||||
if (has_pages) {
|
||||
for (page = 0; page < npages; page++) {
|
||||
u64 data_off = page * mtd->writesize;
|
||||
u64 data_off = (u64)page * mtd->writesize;
|
||||
|
||||
printf("\nDump %d data bytes from 0x%08llx:\n",
|
||||
mtd->writesize, start_off + data_off);
|
||||
|
@ -85,7 +85,7 @@ static void mtd_dump_device_buf(struct mtd_info *mtd, u64 start_off,
|
|||
mtd->writesize, start_off + data_off);
|
||||
|
||||
if (woob) {
|
||||
u64 oob_off = page * mtd->oobsize;
|
||||
u64 oob_off = (u64)page * mtd->oobsize;
|
||||
|
||||
printf("Dump %d OOB bytes from page at 0x%08llx:\n",
|
||||
mtd->oobsize, start_off + data_off);
|
||||
|
|
Loading…
Add table
Reference in a new issue