diff options
author | Damien Martin-Guillerez <dmarting@google.com> | 2015-08-07 15:32:18 +0000 |
---|---|---|
committer | Dmitry Lomov <dslomov@google.com> | 2015-08-10 10:09:20 +0000 |
commit | 7c665f5af48c257593fd5f8a17ff1ea9a5228b8c (patch) | |
tree | 6db6e9e1420b319b114d6634ba3790e8d2a9b158 | |
parent | 0648018edabf426347dccdf36afba47650c17657 (diff) |
docker_build: Fix archive's AR format alignment
--
MOS_MIGRATED_REVID=100125974
-rw-r--r-- | tools/build_defs/docker/archive.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/build_defs/docker/archive.py b/tools/build_defs/docker/archive.py index 0f9c428857..744cbdd971 100644 --- a/tools/build_defs/docker/archive.py +++ b/tools/build_defs/docker/archive.py @@ -53,6 +53,9 @@ class SimpleArFile(object): """ def __init__(self, f): + if f.tell() % 2 != 0: + # AR sections are 2 bytes aligned + f.read(1) self.filename = f.read(16).strip() if self.filename.endswith('/'): # SysV variant self.filename = self.filename[:-1] @@ -61,8 +64,9 @@ class SimpleArFile(object): self.group_id = int(f.read(6).strip()) self.mode = int(f.read(8).strip(), 8) self.size = int(f.read(10).strip()) - if f.read(2) != '\x60\x0a': - raise self.ArError('Invalid AR file header') + pad = f.read(2) + if pad != '\x60\x0a': + raise SimpleArFile.ArError('Invalid AR file header') self.data = f.read(self.size) MAGIC_STRING = '!<arch>\n' |