diff --git a/Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.cpp b/Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.cpp index 9fe366a2588..dfd834fbe0d 100644 --- a/Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.cpp +++ b/Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.cpp @@ -1670,7 +1670,7 @@ WebIDL::ExceptionOr> http_network_or_cache_fet } // 5. If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error. - if ((content_length.value() + inflight_keep_alive_bytes) > 65536) + if ((content_length.value() + inflight_keep_alive_bytes) > keepalive_maximum_size) return PendingResponse::create(vm, request, Infrastructure::Response::network_error(vm, "Keepalive request exceeded maximum allowed size of 64 KiB"sv)); // NOTE: The above limit ensures that requests that are allowed to outlive the environment settings object diff --git a/Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.h b/Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.h index 715c26618a9..57e28b4783e 100644 --- a/Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.h +++ b/Userland/Libraries/LibWeb/Fetch/Fetching/Fetching.h @@ -18,6 +18,10 @@ namespace Web::Fetch::Fetching { // The document `Accept` header value is `text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`. constexpr auto document_accept_header_value = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"sv; +// https://fetch.spec.whatwg.org/#http-network-or-cache-fetch +// If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error. +constexpr auto keepalive_maximum_size = 64 * KiB; + #define ENUMERATE_BOOL_PARAMS \ __ENUMERATE_BOOL_PARAM(IncludeCredentials) \ __ENUMERATE_BOOL_PARAM(IsAuthenticationFetch) \