From 0723a871df2c8ccd8da2cec783ad8ca4b21bd584 Mon Sep 17 00:00:00 2001 From: eight04 Date: Tue, 19 Nov 2024 18:50:08 +0800 Subject: [PATCH] Fix: escape special chars --- src/lib/fetch-delay.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/fetch-delay.js b/src/lib/fetch-delay.js index 02ac873..cd13d09 100644 --- a/src/lib/fetch-delay.js +++ b/src/lib/fetch-delay.js @@ -34,7 +34,9 @@ function matchGlob(pattern, string) { if (!pattern.includes("*")) { return pattern === string; } - return new RegExp(`^${pattern.replace(/\*/g, ".*")}$`).test(string); + // compile a glob pattern to a regular expression, also escape special characters + const rx = new RegExp(`^${pattern.replace(/[-/\\^$+?.()|[\]{}]/g, "\\$&").replace(/\*/g, ".*")}$`); + return rx.test(string); } export async function fetchDelay(url, cb) {