From 2465516d2f077e20bf147fdafa022ba72ee41dce Mon Sep 17 00:00:00 2001 From: Erik Hetzner Date: Thu, 20 Feb 2014 19:56:58 -0800 Subject: [PATCH] do not read past end of extra fields when reading extra field --- .../archive/format/gzip/GZIPFExtraRecord.java | 7 ++++++- .../archive/format/gzip/GZIPFExtraRecords.java | 11 ++++++++--- .../format/gzip/GZIPFormatException.java | 7 +++++++ .../format/gzip/GZIPMemberSeriesTest.java | 5 ++++- .../archive/format/gzip/IAH-urls-wget.warc.gz | Bin 0 -> 43582 bytes 5 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 src/test/resources/org/archive/format/gzip/IAH-urls-wget.warc.gz diff --git a/src/main/java/org/archive/format/gzip/GZIPFExtraRecord.java b/src/main/java/org/archive/format/gzip/GZIPFExtraRecord.java index a4ed6260..0a9a82e0 100644 --- a/src/main/java/org/archive/format/gzip/GZIPFExtraRecord.java +++ b/src/main/java/org/archive/format/gzip/GZIPFExtraRecord.java @@ -98,12 +98,17 @@ public void writeTo(OutputStream os) throws IOException { os.write(value); } } - public int read(InputStream is) throws IOException { + public int read(InputStream is, int maxRead) throws IOException { byte tmpName[] = null; byte tmpVal[] = null; int valLen = 0; tmpName = ByteOp.readNBytes(is, GZIP_FEXTRA_NAME_BYTES); valLen = ByteOp.readShort(is); + if (valLen > (maxRead - BYTES_IN_SHORT - GZIP_FEXTRA_NAME_BYTES)) { + /* read in what's left, but throw an exception */ + tmpVal = ByteOp.readNBytes(is, maxRead - BYTES_IN_SHORT - GZIP_FEXTRA_NAME_BYTES); + throw new GZIPFormatException.GZIPExtraFieldShortException(maxRead); + } if(valLen > 0) { tmpVal = ByteOp.readNBytes(is, valLen); } diff --git a/src/main/java/org/archive/format/gzip/GZIPFExtraRecords.java b/src/main/java/org/archive/format/gzip/GZIPFExtraRecords.java index 7dc0de44..e5920552 100755 --- a/src/main/java/org/archive/format/gzip/GZIPFExtraRecords.java +++ b/src/main/java/org/archive/format/gzip/GZIPFExtraRecords.java @@ -53,12 +53,17 @@ public void readRecords(InputStream is) ArrayList tmpList = new ArrayList(); while(bytesRemaining > 0) { GZIPFExtraRecord tmpRecord = new GZIPFExtraRecord(); - int bytesRead = tmpRecord.read(is); - bytesRemaining -= bytesRead; + try { + int bytesRead = tmpRecord.read(is, bytesRemaining); + bytesRemaining -= bytesRead; + tmpList.add(tmpRecord); + } catch (GZIPFormatException.GZIPExtraFieldShortException ex) { + /* not enough bytes for the extra field; move on */ + bytesRemaining -= ex.bytesRead; + } if(bytesRemaining < 0) { throw new GZIPFormatException("Invalid FExtra length/records"); } - tmpList.add(tmpRecord); } this.addAll(tmpList); } diff --git a/src/main/java/org/archive/format/gzip/GZIPFormatException.java b/src/main/java/org/archive/format/gzip/GZIPFormatException.java index ca627a88..3916dafa 100644 --- a/src/main/java/org/archive/format/gzip/GZIPFormatException.java +++ b/src/main/java/org/archive/format/gzip/GZIPFormatException.java @@ -21,4 +21,11 @@ public GZIPFormatException(Exception e) { public GZIPFormatException(String message, IOException e) { super(message,e); } + public static class GZIPExtraFieldShortException extends GZIPFormatException { + int bytesRead; + public GZIPExtraFieldShortException(int bytesRead) { + super("Extra Field short."); + this.bytesRead = bytesRead; + } + } } diff --git a/src/test/java/org/archive/format/gzip/GZIPMemberSeriesTest.java b/src/test/java/org/archive/format/gzip/GZIPMemberSeriesTest.java index 95c7e96f..2eec46ec 100644 --- a/src/test/java/org/archive/format/gzip/GZIPMemberSeriesTest.java +++ b/src/test/java/org/archive/format/gzip/GZIPMemberSeriesTest.java @@ -374,6 +374,9 @@ public void testAutoSkip() throws IOException { assertNull(m); assertTrue(s.gotEOF()); } - + public void testWgetProblem() throws IndexOutOfBoundsException, FileNotFoundException, IOException { + InputStream is = getClass().getResourceAsStream("IAH-urls-wget.warc.gz"); + new GZIPDecoder().parseHeader(is); + } } diff --git a/src/test/resources/org/archive/format/gzip/IAH-urls-wget.warc.gz b/src/test/resources/org/archive/format/gzip/IAH-urls-wget.warc.gz new file mode 100644 index 0000000000000000000000000000000000000000..fa248f8d52a693075d745270d0013059b0afc6ff GIT binary patch literal 43582 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 literal 0 HcmV?d00001