[OE-core] [PATCH 07/11] filemap: check if dest is written for every block
Ed Bartosh
ed.bartosh at linux.intel.com
Thu May 25 14:46:24 UTC 2017
If lenght parameter is provided to sparse_copy call
it's mandatory to check if the output file is fully
written after reading unmapped block from input file.
If it's not done then sparse_copy can write more data
than specified length.
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
---
scripts/lib/wic/filemap.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/scripts/lib/wic/filemap.py b/scripts/lib/wic/filemap.py
index 8719f44..764dbbe 100644
--- a/scripts/lib/wic/filemap.py
+++ b/scripts/lib/wic/filemap.py
@@ -563,6 +563,13 @@ def sparse_copy(src_fname, dst_fname, skip=0, seek=0,
start = skip
fmap._f_image.seek(start, os.SEEK_SET)
+
+ written += start - skip - written
+ if length and written >= length:
+ dst_file.seek(seek + length, os.SEEK_SET)
+ dst_file.close()
+ return
+
dst_file.seek(seek + start - skip, os.SEEK_SET)
chunk_size = 1024 * 1024
--
2.1.4
More information about the Openembedded-core
mailing list