Fix inefficiency in APK entry data alignment.
26f00cda4b
introduced a bug where an
APK entry's extra field is padded for alignment purposes when no
padding is necessary because the entry is aligned without any padding
bytes.
Bug: 27461702
Change-Id: Icb164dbaa26d9686412e2920318a9f40c5ce9751
This commit is contained in:
@@ -445,7 +445,8 @@ class SignApk {
|
|||||||
int extraPaddingSizeBytes = 0;
|
int extraPaddingSizeBytes = 0;
|
||||||
if (alignment > 0) {
|
if (alignment > 0) {
|
||||||
long paddingStartOffset = offset + ALIGNMENT_ZIP_EXTRA_DATA_FIELD_MIN_SIZE_BYTES;
|
long paddingStartOffset = offset + ALIGNMENT_ZIP_EXTRA_DATA_FIELD_MIN_SIZE_BYTES;
|
||||||
extraPaddingSizeBytes = alignment - (int) (paddingStartOffset % alignment);
|
extraPaddingSizeBytes =
|
||||||
|
(alignment - (int) (paddingStartOffset % alignment)) % alignment;
|
||||||
}
|
}
|
||||||
byte[] extra =
|
byte[] extra =
|
||||||
new byte[ALIGNMENT_ZIP_EXTRA_DATA_FIELD_MIN_SIZE_BYTES + extraPaddingSizeBytes];
|
new byte[ALIGNMENT_ZIP_EXTRA_DATA_FIELD_MIN_SIZE_BYTES + extraPaddingSizeBytes];
|
||||||
|
Reference in New Issue
Block a user