From 82bf99bb4e4cd4779a08daa21bd4bc2007042f41 Mon Sep 17 00:00:00 2001 From: Alex Klyubin Date: Mon, 14 Mar 2016 13:33:26 -0700 Subject: [PATCH] Fix two cosmetic issues in signapk. * Zip EoCD record comment length was referred to as 32-bit whereas it is a 16-bit field. The implementation was fine, but the comment and the naming of a constant were wrong. * System.out.println was left over from early prototyping days. Removed. Bug: 25794543 Change-Id: I97199310d4b4451271a75bb6c6d0463e0b788be9 --- tools/signapk/src/com/android/signapk/ZipUtils.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tools/signapk/src/com/android/signapk/ZipUtils.java b/tools/signapk/src/com/android/signapk/ZipUtils.java index b9a17cafaa..7575a77d9e 100644 --- a/tools/signapk/src/com/android/signapk/ZipUtils.java +++ b/tools/signapk/src/com/android/signapk/ZipUtils.java @@ -37,7 +37,7 @@ public abstract class ZipUtils { private static final int ZIP64_EOCD_LOCATOR_SIZE = 20; private static final int ZIP64_EOCD_LOCATOR_SIG = 0x07064b50; - private static final int UINT32_MAX_VALUE = 0xffff; + private static final int UINT16_MAX_VALUE = 0xffff; /** * Returns the position at which ZIP End of Central Directory record starts in the provided @@ -56,14 +56,13 @@ public abstract class ZipUtils { // end of the buffer for the EOCD record signature. Whenever we find a signature, we check // the candidate record's comment length is such that the remainder of the record takes up // exactly the remaining bytes in the buffer. The search is bounded because the maximum - // size of the comment field is 65535 bytes because the field is an unsigned 32-bit number. + // size of the comment field is 65535 bytes because the field is an unsigned 16-bit number. int archiveSize = zipContents.capacity(); if (archiveSize < ZIP_EOCD_REC_MIN_SIZE) { - System.out.println("File size smaller than EOCD min size"); return -1; } - int maxCommentLength = Math.min(archiveSize - ZIP_EOCD_REC_MIN_SIZE, UINT32_MAX_VALUE); + int maxCommentLength = Math.min(archiveSize - ZIP_EOCD_REC_MIN_SIZE, UINT16_MAX_VALUE); int eocdWithEmptyCommentStartPosition = archiveSize - ZIP_EOCD_REC_MIN_SIZE; for (int expectedCommentLength = 0; expectedCommentLength < maxCommentLength; expectedCommentLength++) {