From 11f37bc6eb985f61d4d7490868ca2d38415af450 Mon Sep 17 00:00:00 2001 From: Cristian Amarie Date: Thu, 13 Aug 2020 18:45:26 +0000 Subject: [PATCH] Add limit on request redirects (fixes issue #3001) --- libcef/browser/net_service/proxy_url_loader_factory.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libcef/browser/net_service/proxy_url_loader_factory.cc b/libcef/browser/net_service/proxy_url_loader_factory.cc index 72aa8941b..131d3031e 100644 --- a/libcef/browser/net_service/proxy_url_loader_factory.cc +++ b/libcef/browser/net_service/proxy_url_loader_factory.cc @@ -229,6 +229,7 @@ class InterceptedRequest : public network::mojom::URLLoader, const uint32_t options_; bool input_stream_previously_failed_ = false; bool request_was_redirected_ = false; + int redirect_limit_ = net::URLRequest::kMaxRedirects; // To avoid sending multiple OnReceivedError callbacks. bool sent_error_callback_ = false; @@ -485,6 +486,11 @@ void InterceptedRequest::OnReceiveRedirect( needs_callback = true; } + if (--redirect_limit_ == 0) { + SendErrorAndCompleteImmediately(net::ERR_TOO_MANY_REDIRECTS); + return; + } + net::RedirectInfo new_redirect_info; // When we redirect via ContinueToHandleOverrideHeaders the |redirect_info|