diff --git a/source/de/anomic/plasma/plasmaCrawlWorker.java b/source/de/anomic/plasma/plasmaCrawlWorker.java index 14670d236..ccb1421cb 100644 --- a/source/de/anomic/plasma/plasmaCrawlWorker.java +++ b/source/de/anomic/plasma/plasmaCrawlWorker.java @@ -362,7 +362,13 @@ public final class plasmaCrawlWorker extends Thread { // reserve cache entry plasmaHTCache.Entry htCache = cacheManager.newEntry(requestDate, depth, url, name, requestHeader, res.status, res.responseHeader, initiator, profile); - + if (!htCache.cacheFile.getCanonicalPath().startsWith(cacheManager.cachePath.getAbsolutePath())) { + // if the response has not the right file type then reject file + remote.close(); + log.logInfo("REJECTED URL " + url.toString() + " because of an invalid file path '" + htCache.cacheFile.getAbsolutePath() + "'."); + return; + } + // request has been placed and result has been returned. work off response File cacheFile = cacheManager.getCachePath(url); try { @@ -386,6 +392,7 @@ public final class plasmaCrawlWorker extends Thread { // if the response has not the right file type then reject file remote.close(); log.logInfo("REJECTED WRONG MIME/EXT TYPE " + res.responseHeader.mime() + " for URL " + url.toString()); + return; } // enQueue new entry with response header if (profile != null) {