From 641f193e170f375f845d45c142abff7a59dd9988 Mon Sep 17 00:00:00 2001 From: nlevitt Date: Mon, 3 Jan 2011 22:41:00 +0000 Subject: [PATCH] * ExtractorXML.java shouldExtract(CrawlUri) - Avoid java.lang.IndexOutOfBoundsException checking for xml preamble in brief/empty url content. --- .../main/java/org/archive/modules/extractor/ExtractorXML.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/src/main/java/org/archive/modules/extractor/ExtractorXML.java b/modules/src/main/java/org/archive/modules/extractor/ExtractorXML.java index 992cbb8d..2481c8d0 100644 --- a/modules/src/main/java/org/archive/modules/extractor/ExtractorXML.java +++ b/modules/src/main/java/org/archive/modules/extractor/ExtractorXML.java @@ -66,8 +66,8 @@ public class ExtractorXML extends ContentExtractor { && (mimeType.toLowerCase().indexOf("xml") >= 0 || curi.toString().toLowerCase().endsWith(".rss") || curi.toString().toLowerCase().endsWith(".xml") - || curi.getRecorder().getReplayCharSequence() - .subSequence(0, 8).toString().matches("[\\ufeff]?<\\?xml\\s.*")); + || (curi.getRecorder().getReplayCharSequence().length() >= 8 + && curi.getRecorder().getReplayCharSequence().subSequence(0, 8).toString().matches("[\\ufeff]?<\\?xml\\s.*"))); } catch (IOException e) { logger.severe(curi + " - failed getting ReplayCharSequence: " + e); return false;