Only read payload signature if input file contains one am: c890e48d81 am: 9f1fe7c65a
Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/2514535
Change-Id: I5bd71682f98e8353eedc5a3118abd660cb3eaf41
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/scripts/update_payload/payload.py b/scripts/update_payload/payload.py
index b513f72..4abd63e 100644
--- a/scripts/update_payload/payload.py
+++ b/scripts/update_payload/payload.py
@@ -138,6 +138,8 @@
else:
self.name = payload_file.name
self.payload_file = payload_file
+ self.payload_file_size = self.payload_file.seek(0, io.SEEK_END)
+ self.payload_file.seek(0, io.SEEK_SET)
self.payload_file_offset = payload_file_offset
self.manifest_hasher = None
self.is_init = False
@@ -266,7 +268,7 @@
self.metadata_size = self.header.size + self.header.manifest_len
self.data_offset = self.metadata_size + self.header.metadata_signature_len
- if self.manifest.signatures_offset and self.manifest.signatures_size:
+ if self.manifest.signatures_offset and self.manifest.signatures_size and self.manifest.signatures_offset + self.manifest.signatures_size <= self.payload_file_size:
payload_signature_blob = self.ReadDataBlob(
self.manifest.signatures_offset, self.manifest.signatures_size)
payload_signature = update_metadata_pb2.Signatures()