Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39b8f9fc authored by Baligh Uddin's avatar Baligh Uddin
Browse files

DO NOT MERGE - Add a guard against deleting AVB_PUBKey.

The avb_pubkey may not be present, if the apex was initially
unsigned or generated from a bundle.  In this case, running
sign_apex to generate a signed apex binary would result in an error.
This fix checks for presense of avbpubkey before attempting the
deletion

BUG: 139994107
Change-Id: I3cb2e88a11ad8797e38ba5fb98c96a4ec4135fc8
parent e8408811
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -177,6 +177,7 @@ def SignApex(apex_data, payload_key, container_key, container_pw,
  payload_dir = common.MakeTempDir(prefix='apex-payload-')
  with zipfile.ZipFile(apex_file) as apex_fd:
    payload_file = apex_fd.extract(APEX_PAYLOAD_IMAGE, payload_dir)
    zip_items = apex_fd.namelist()

  payload_info = ParseApexPayloadInfo(payload_file)
  SignApexPayload(
@@ -191,6 +192,7 @@ def SignApex(apex_data, payload_key, container_key, container_pw,
  payload_public_key = common.ExtractAvbPublicKey(payload_key)

  common.ZipDelete(apex_file, APEX_PAYLOAD_IMAGE)
  if APEX_PUBKEY in zip_items:
    common.ZipDelete(apex_file, APEX_PUBKEY)
  apex_zip = zipfile.ZipFile(apex_file, 'a')
  common.ZipWrite(apex_zip, payload_file, arcname=APEX_PAYLOAD_IMAGE)