aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2012-07-23 17:26:31 -0700
committerandroid code review <noreply-gerritcodereview@google.com>2012-07-23 17:26:32 -0700
commitf58f62eb31afb59a74566f60683cbbd1099e3111 (patch)
tree1e2133a96b43a76d8b9dc7f9c795001ed09c4f53
parentec7d9dc713322bd41b1e348c0ea3b1304a13dba9 (diff)
parentf1ec8ac84a8540b92a16f187bfa92b2f3c63917e (diff)
downloadsystem_core-f58f62eb31afb59a74566f60683cbbd1099e3111.tar.gz
system_core-f58f62eb31afb59a74566f60683cbbd1099e3111.tar.bz2
system_core-f58f62eb31afb59a74566f60683cbbd1099e3111.zip
Merge "libsparse: fix 32 bit overflow when calculating last chunk"
-rw-r--r--libsparse/sparse.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libsparse/sparse.c b/libsparse/sparse.c
index 189b4c03..741e8c6f 100644
--- a/libsparse/sparse.c
+++ b/libsparse/sparse.c
@@ -139,7 +139,7 @@ static int write_all_blocks(struct sparse_file *s, struct output_file *out)
DIV_ROUND_UP(backed_block_len(bb), s->block_size);
}
- pad = s->len - last_block * s->block_size;
+ pad = s->len - (int64_t)last_block * s->block_size;
assert(pad >= 0);
if (pad > 0) {
write_skip_chunk(out, pad);