From d24459948fbfe6bb2ac4f21e4a933c5acced6f43 Mon Sep 17 00:00:00 2001 From: blahma Date: Thu, 11 Apr 2019 11:33:15 +0200 Subject: [PATCH] Fix excessive URL decoding in CDXServer.java I could not test this change, but I am convinced that it could fix the issue with double URL decoding of the resumeKey which can lead to infinite loops if the processed URLs already contained encoded characters. See https://github.com/internetarchive/wayback/issues/195 --- .../src/main/java/org/archive/cdxserver/CDXServer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wayback-cdx-server/src/main/java/org/archive/cdxserver/CDXServer.java b/wayback-cdx-server/src/main/java/org/archive/cdxserver/CDXServer.java index 829f6d00d4..6b666e249f 100644 --- a/wayback-cdx-server/src/main/java/org/archive/cdxserver/CDXServer.java +++ b/wayback-cdx-server/src/main/java/org/archive/cdxserver/CDXServer.java @@ -400,7 +400,7 @@ protected CloseableIterator createBoundedCdxIterator( params.setReverse(query.isReverse()); if (!query.resumeKey.isEmpty()) { - searchKey = URLDecoder.decode(query.resumeKey, "UTF-8"); + searchKey = query.resumeKey; startEndUrl[0] = searchKey; // int lastSpace = startEndUrl[0].lastIndexOf(' '); // if (lastSpace > 0) {