diff options
| author | Jeffy Chen <[email protected]> | 2016-02-03 18:13:55 +0800 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2016-04-11 12:44:37 -0400 |
| commit | d3bafe32ca47bc3872837c1fe7874f9913de103f (patch) | |
| tree | 8059323b5600e2de6dbadab15f5cef82c5c58318 /common | |
| parent | 9dbdc6ebd4db60effebefcf8d541cf598712e3b7 (diff) | |
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 <[email protected]>
Diffstat (limited to 'common')
| -rw-r--r-- | common/image-sparse.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/common/image-sparse.c b/common/image-sparse.c index dffe844d548..2433192b20e 100644 --- a/common/image-sparse.c +++ b/common/image-sparse.c @@ -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) |
