[U-Boot] [PATCH] part: check each variable for capability calculation
Huang Changming-R66093
r66093 at freescale.com
Thu Dec 6 05:07:01 CET 2012
Since last month, no any feedback.
Who can give some comment about this patch?
Best Regards
Jerry Huang
> -----Original Message-----
> From: Huang Changming-R66093
> Sent: Wednesday, November 07, 2012 9:33 AM
> To: u-boot at lists.denx.de
> Cc: Huang Changming-R66093
> Subject: [PATCH] part: check each variable for capability calculation
>
> From: Jerry Huang <Chang-Ming.Huang at freescale.com>
>
> 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 at freescale.com>
> ---
> disk/part.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/disk/part.c b/disk/part.c
> index 4646f68..7bdc90e 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;
>
> --
> 1.7.9.5
More information about the U-Boot
mailing list