From 826f9abec3956897a02d8c912882c6af440e628f Mon Sep 17 00:00:00 2001 From: LoveSy Date: Thu, 21 Oct 2021 10:29:28 +0800 Subject: [PATCH] Fix offset --- .../com/android/tools/build/apkzlib/zip/ExtraField.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apkzlib/src/main/java/com/android/tools/build/apkzlib/zip/ExtraField.java b/apkzlib/src/main/java/com/android/tools/build/apkzlib/zip/ExtraField.java index 99aaa58..85753eb 100644 --- a/apkzlib/src/main/java/com/android/tools/build/apkzlib/zip/ExtraField.java +++ b/apkzlib/src/main/java/com/android/tools/build/apkzlib/zip/ExtraField.java @@ -389,8 +389,8 @@ public class ExtraField { public static class LinkingEntrySegment implements Segment { private final StoredEntry linkingEntry; - private int dataOffset = 0; - private long zipOffset = 0; + private int dataOffset = -1; + private long zipOffset = -1; public LinkingEntrySegment(StoredEntry linkingEntry) throws IOException { Preconditions.checkArgument(linkingEntry.isLinkingEntry(), "linkingEntry is not a linking entry"); @@ -414,8 +414,8 @@ public class ExtraField { @Override public void write(ByteBuffer out) throws IOException { - if (dataOffset == 0 || zipOffset == 0) { - throw new IOException("linking entry has 0 offset"); + if (dataOffset < 0 || zipOffset < 0) { + throw new IOException("linking entry has wrong offset"); } if (!linkingEntry.isDummyEntry()) { LittleEndianUtils.writeUnsigned2Le(out, LINKING_ENTRY_EXTRA_DATA_FIELD_HEADER_ID);