From 0cd05d737729b4cfab1d5e22077b3b9ad4ed5e30 Mon Sep 17 00:00:00 2001 From: Marcos Casagrande Date: Mon, 10 Oct 2022 18:06:50 +0200 Subject: fix(ext/fetch): fix illegal header regex (#16236) This PR fixes invalid header parsing which is flaky because `g` flag is being used in the regex, which keeps track of `lastIndex` ```javascript try { new Headers([["x", "\u0000x"]]); // error } catch(e) {} new Headers([["x", "\u0000x"]]); // no error ``` This issue affects `Response` & `Request` constructors as well --- ext/fetch/20_headers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ext') diff --git a/ext/fetch/20_headers.js b/ext/fetch/20_headers.js index 5243c5029..ae32aec11 100644 --- a/ext/fetch/20_headers.js +++ b/ext/fetch/20_headers.js @@ -88,7 +88,7 @@ // Regex matching illegal chars in a header value // deno-lint-ignore no-control-regex - const ILLEGAL_VALUE_CHARS = /[\x00\x0A\x0D]/g; + const ILLEGAL_VALUE_CHARS = /[\x00\x0A\x0D]/; /** * https://fetch.spec.whatwg.org/#concept-headers-append -- cgit v1.2.3