summaryrefslogtreecommitdiff
path: root/disk
diff options
context:
space:
mode:
authorJerry Huang <Chang-Ming.Huang@freescale.com>2012-11-06 15:33:12 +0000
committerTom Rini <trini@ti.com>2012-12-06 13:56:39 -0700
commit33699df12cbcd9bfa609dc7fb5a0a69c029449e9 (patch)
tree38c47b1880aa925434df5875cb85342bb978e4fe /disk
parente3ff797cdb3c4e4b2147013fa1b25a04ecc21fc4 (diff)
downloadu-boot-33699df12cbcd9bfa609dc7fb5a0a69c029449e9.tar.gz
part: check each variable for capability calculation
In order to calculate the capability, we use the below expression to check: ((dev_desc->lba * dev_desc->blksz)>0L) If the capability is greater than 4GB (e.g. 8GB = 8 * 1024 * 104 * 1024), the result will overflow, the low 32bit may be zero. Therefore, change to check each variable to fix this potential issue. Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
Diffstat (limited to 'disk')
-rw-r--r--disk/part.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/disk/part.c b/disk/part.c
index 4646f682d2..7bdc90eff7 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -199,7 +199,7 @@ void dev_print (block_dev_desc_t *dev_desc)
break;
}
puts ("\n");
- if ((dev_desc->lba * dev_desc->blksz)>0L) {
+ if (dev_desc->lba > 0L && dev_desc->blksz > 0L) {
ulong mb, mb_quot, mb_rem, gb, gb_quot, gb_rem;
lbaint_t lba;