diff options
author | Elliott Hughes <enh@google.com> | 2013-07-08 11:25:32 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-07-08 11:25:32 -0700 |
commit | 1cec2593103dc175a9ca267cb3f3a4760e2d36a4 (patch) | |
tree | c9e2c331e30bcef9c8245436c273441e5dd4503f | |
parent | 4b27762cfe6c2115a538ed65205d7531155f01ce (diff) | |
parent | bcb7b42086b570995493ebee955a1fc46d52736d (diff) |
am bcb7b420: am d987149f: am 3802bbcf: am fe39951e: Values in ZIP files are unsigned.
* commit 'bcb7b42086b570995493ebee955a1fc46d52736d':
Values in ZIP files are unsigned.
-rw-r--r-- | luni/src/main/java/java/util/zip/ZipEntry.java | 12 | ||||
-rw-r--r-- | luni/src/main/java/java/util/zip/ZipFile.java | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/luni/src/main/java/java/util/zip/ZipEntry.java b/luni/src/main/java/java/util/zip/ZipEntry.java index e2bfc8d492..003d265231 100644 --- a/luni/src/main/java/java/util/zip/ZipEntry.java +++ b/luni/src/main/java/java/util/zip/ZipEntry.java @@ -360,18 +360,18 @@ public class ZipEntry implements ZipConstants, Cloneable { } it.seek(10); - compressionMethod = it.readShort(); - time = it.readShort(); - modDate = it.readShort(); + compressionMethod = it.readShort() & 0xffff; + time = it.readShort() & 0xffff; + modDate = it.readShort() & 0xffff; // These are 32-bit values in the file, but 64-bit fields in this object. crc = ((long) it.readInt()) & 0xffffffffL; compressedSize = ((long) it.readInt()) & 0xffffffffL; size = ((long) it.readInt()) & 0xffffffffL; - nameLength = it.readShort(); - int extraLength = it.readShort(); - int commentLength = it.readShort(); + nameLength = it.readShort() & 0xffff; + int extraLength = it.readShort() & 0xffff; + int commentLength = it.readShort() & 0xffff; // This is a 32-bit value in the file, but a 64-bit field in this object. it.seek(42); diff --git a/luni/src/main/java/java/util/zip/ZipFile.java b/luni/src/main/java/java/util/zip/ZipFile.java index 816d1b8020..181e198b3d 100644 --- a/luni/src/main/java/java/util/zip/ZipFile.java +++ b/luni/src/main/java/java/util/zip/ZipFile.java @@ -259,7 +259,7 @@ public class ZipFile implements ZipConstants { // the one coming in the central header. RAFStream rafstrm = new RAFStream(raf, entry.mLocalHeaderRelOffset + 28); DataInputStream is = new DataInputStream(rafstrm); - int localExtraLenOrWhatever = Short.reverseBytes(is.readShort()); + int localExtraLenOrWhatever = Short.reverseBytes(is.readShort()) & 0xffff; is.close(); // Skip the name and this "extra" data or whatever it is: |