From: Artem Bityutskiy Date: Tue, 17 Sep 2013 06:23:11 +0000 (+0300) Subject: Fiemap: fix failure for zero-sized files X-Git-Tag: v3.0~33 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=18b66a640330ed338a5e824f80c2a3954dadd60a;p=tools%2Fbmap-tools.git Fiemap: fix failure for zero-sized files The Fiemap module fails for zero-sized file with these symptoms: Traceback (most recent call last): File "./bmaptool", line 561, in sys.exit(main()) File "./bmaptool", line 545, in main args.func(args, log) File "./bmaptool", line 419, in create_command creator = BmapCreate.BmapCreate(args.image, output, "sha256") File "/mnt/bigssd/dedekind/work/tizen/git/bmap-tools/bmaptools/BmapCreate.py", line 163, in __init__ self.fiemap = Fiemap.Fiemap(self._f_image) File "/mnt/bigssd/dedekind/work/tizen/git/bmap-tools/bmaptools/Fiemap.py", line 120, in __init__ self.block_is_mapped(0) File "/mnt/bigssd/dedekind/work/tizen/git/bmap-tools/bmaptools/Fiemap.py", line 175, in block_is_mapped struct_fiemap = self._invoke_fiemap(block, 1) File "/mnt/bigssd/dedekind/work/tizen/git/bmap-tools/bmaptools/Fiemap.py", line 149, in _invoke_fiemap % (block, self.blocks_cnt)) This patch fixes the issue. Change-Id: I3eb2c6e69c892aea2a3d41f2b9bf830907d7658e Signed-off-by: Artem Bityutskiy --- diff --git a/bmaptools/Fiemap.py b/bmaptools/Fiemap.py index 3066f18..9413358 100644 --- a/bmaptools/Fiemap.py +++ b/bmaptools/Fiemap.py @@ -144,7 +144,7 @@ class Fiemap: list (just like 'struct.upack()'). """ - if block < 0 or block >= self.blocks_cnt: + if self.blocks_cnt != 0 and (block < 0 or block >= self.blocks_cnt): raise Error("bad block number %d, should be within [0, %d]" % (block, self.blocks_cnt))