1
0
Fork 0

fastboot: sparse: fix sparse blocks calculation

It may overflow in sparse_block_size_to_storage, use uint64_t instead in
the calculation.

Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
utp
Jeffy Chen 2016-02-03 18:13:55 +08:00 committed by Tom Rini
parent 9dbdc6ebd4
commit d3bafe32ca
1 changed files with 2 additions and 1 deletions

View File

@ -64,7 +64,8 @@ static unsigned int sparse_block_size_to_storage(unsigned int size,
sparse_storage_t *storage,
sparse_header_t *sparse)
{
return size * sparse->blk_sz / storage->block_sz;
return (unsigned int)lldiv((uint64_t)size * sparse->blk_sz,
storage->block_sz);
}
static bool sparse_chunk_has_buffer(chunk_header_t *chunk)