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>
This commit is contained in:
parent
9dbdc6ebd4
commit
d3bafe32ca
|
@ -64,7 +64,8 @@ static unsigned int sparse_block_size_to_storage(unsigned int size,
|
||||||
sparse_storage_t *storage,
|
sparse_storage_t *storage,
|
||||||
sparse_header_t *sparse)
|
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)
|
static bool sparse_chunk_has_buffer(chunk_header_t *chunk)
|
||||||
|
|
Loading…
Reference in New Issue