From 31b206f218189d2ecb4b12cf05139bb423877a94 Mon Sep 17 00:00:00 2001 From: Che-Liang Chiou Date: Thu, 10 Feb 2011 14:46:21 +0800 Subject: Change pack_firmware_image::EntryBlob behavior Old: Trim input file when it is larger than specified firmware section length New: Raise exception when such thing happens BUG=none TEST=manual $ cat > config < main() File "./pack_firmware_image", line 260, in main pack_firmware_image(env['ENTRIES'], env['OUTPUT'], env['SIZE']) File "./pack_firmware_image", line 227, in pack_firmware_image entry.Pack(firmware_image, entries) File "./pack_firmware_image", line 133, in Pack raise PackError('blob too large: %d > %d' % (size, self.length)) __main__.PackError: blob too large: 1566 > 1 Review URL: http://codereview.chromium.org/6459017 Change-Id: I0b0fb8af37fc3ac055164c362278f32f93944ab4 --- utility/pack_firmware_image | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utility/pack_firmware_image b/utility/pack_firmware_image index d6251cd4..7ec86073 100755 --- a/utility/pack_firmware_image +++ b/utility/pack_firmware_image @@ -129,9 +129,9 @@ class EntryBlob(EntryFmapArea): def Pack(self, firmware_image, entries): size = os.stat(self.path).st_size - if size > 0: - size = min(size, self.length) - else: + if size > self.length: + raise PackError('blob too large: %d > %d' % (size, self.length)) + if size == 0: # special case for files like /dev/zero size = self.length with open(self.path, 'rb') as blob_image: firmware_image.seek(self.offset) -- cgit v1.2.1