From 87c07227334ec01b9246e19fb9fc154c034a270e Mon Sep 17 00:00:00 2001 From: Anthony Green Date: Fri, 16 Sep 2005 01:07:20 +0000 Subject: * java/util/zip/ZipFile.java (checkZipFile): Make sure we read the 4 byte magic number. --- java/util/zip/ZipFile.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'java/util/zip/ZipFile.java') diff --git a/java/util/zip/ZipFile.java b/java/util/zip/ZipFile.java index 9191ea7d1..4be845ea7 100644 --- a/java/util/zip/ZipFile.java +++ b/java/util/zip/ZipFile.java @@ -144,9 +144,18 @@ public class ZipFile implements ZipConstants private void checkZipFile() throws IOException, ZipException { byte[] magicBuf = new byte[4]; - raf.read(magicBuf); + boolean validRead = true; - if (readLeInt(magicBuf, 0) != LOCSIG) + try + { + raf.readFully(magicBuf); + } + catch (EOFException eof) + { + validRead = false; + } + + if (validRead == false || readLeInt(magicBuf, 0) != LOCSIG) { raf.close(); throw new ZipException("Not a valid zip file"); -- cgit v1.2.1