aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/java/util/zip/ZipFile.java
diff options
context:
space:
mode:
authorAndrew John Hughes <gandalf@gcc.gnu.org>2012-03-23 15:19:26 +0000
committerAndrew John Hughes <gandalf@gcc.gnu.org>2012-03-23 15:19:26 +0000
commit0563022a206294757effa44686727bffc4f7c2bd (patch)
treefebe3d4d4c0c994db223fee8e819bde6582494c9 /libjava/classpath/java/util/zip/ZipFile.java
parent21669dfe20db0246ece395db5558a081a5c7088f (diff)
downloadgcc-0563022a206294757effa44686727bffc4f7c2bd.zip
gcc-0563022a206294757effa44686727bffc4f7c2bd.tar.gz
gcc-0563022a206294757effa44686727bffc4f7c2bd.tar.bz2
Merge GNU Classpath 0.99 into libjava.
From-SVN: r185741
Diffstat (limited to 'libjava/classpath/java/util/zip/ZipFile.java')
-rw-r--r--libjava/classpath/java/util/zip/ZipFile.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/libjava/classpath/java/util/zip/ZipFile.java b/libjava/classpath/java/util/zip/ZipFile.java
index 3963bcb..b582c84 100644
--- a/libjava/classpath/java/util/zip/ZipFile.java
+++ b/libjava/classpath/java/util/zip/ZipFile.java
@@ -261,7 +261,10 @@ public class ZipFile implements ZipConstants
if (inp.readLeInt() != CENSIG)
throw new ZipException("Wrong Central Directory signature: " + name);
- inp.skip(6);
+ inp.skip(4);
+ int flags = inp.readLeShort();
+ if ((flags & 1) != 0)
+ throw new ZipException("invalid CEN header (encrypted entry)");
int method = inp.readLeShort();
int dostime = inp.readLeInt();
int crc = inp.readLeInt();