From c01811182844071a2b1de4ac8ff985698aaf5f53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20Javier=20Merino=20Mor=C3=A1n?= Date: Fri, 3 Jun 2022 18:00:44 +0200 Subject: [PATCH] URI regexp: allow empty queries and fragments Test: http://example.com/? --- src/autotests/HotSpotFilterTest.cpp | 4 ++-- src/filterHotSpots/UrlFilter.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/autotests/HotSpotFilterTest.cpp b/src/autotests/HotSpotFilterTest.cpp index c0569660..5cc5672f 100644 --- a/src/autotests/HotSpotFilterTest.cpp +++ b/src/autotests/HotSpotFilterTest.cpp @@ -60,9 +60,9 @@ void HotSpotFilterTest::testUrlFilterRegex_data() << "https://example.com/foo,bar" << true; QTest::newRow("empty_query") << "http://example.com/?" - << "http://example.com/" << true; + << "http://example.com/?" << true; QTest::newRow("empty_fragment") << "http://example.com/#" - << "http://example.com/" << true; + << "http://example.com/#" << true; QTest::newRow("www_followed_by_colon") << "www.example.com:foo@bar.com" << "www.example.com" << true; diff --git a/src/filterHotSpots/UrlFilter.cpp b/src/filterHotSpots/UrlFilter.cpp index bee7c5a9..e830c20b 100644 --- a/src/filterHotSpots/UrlFilter.cpp +++ b/src/filterHotSpots/UrlFilter.cpp @@ -52,8 +52,8 @@ static const char port[] = "(?::[0-9]+)?+"; // :1234 #define COMMON_2 "a-z0-9\\-._~%!$&'()*+,;=:@/" static const char path[] = "(?:/[" COMMON_2 "]*+)?+"; // /path/to/some/place -static const char query[] = "(?:\\?[" COMMON_2 "?]+)?+"; // "?somequery=bar" -static const char fragment[] = "(?:#[" COMMON_2 "?]+)?+"; // "#fragment" +static const char query[] = "(?:\\?[" COMMON_2 "?]*+)?+"; // "?somequery=bar" +static const char fragment[] = "(?:#[" COMMON_2 "?]*+)?+"; // "#fragment" using LS1 = QLatin1String;