From b78c564cca7353ac86a432b03469dad190b46fa3 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Wed, 22 Mar 2017 15:42:28 +0200 Subject: [PATCH] wic: fix bug in sparse_copy sparse_copy creates output file that is smaller than input file when input file ends with unmapped blocks. Used truncate() when output file is created to ensure the size of output file will always be equal to the size of input file. (From OE-Core rev: 567186f995302a095a771baede4ff5034d1d1862) Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- scripts/lib/wic/filemap.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/lib/wic/filemap.py b/scripts/lib/wic/filemap.py index 162603ed0a..080668e7c2 100644 --- a/scripts/lib/wic/filemap.py +++ b/scripts/lib/wic/filemap.py @@ -537,6 +537,7 @@ def sparse_copy(src_fname, dst_fname, offset=0, skip=0): dst_file = open(dst_fname, 'r+b') except IOError: dst_file = open(dst_fname, 'wb') + dst_file.truncate(os.path.getsize(src_fname)) for first, last in fmap.get_mapped_ranges(0, fmap.blocks_cnt): start = first * fmap.block_size