fix: escape regex characters when invalid

This commit is contained in:
tdurieux
2023-02-04 09:31:58 +01:00
parent 6345ed5283
commit 8ec1fd4090
2 changed files with 22 additions and 7 deletions

View File

@@ -133,10 +133,16 @@ export function anonymizeContent(
const terms = repository.options.terms || [];
for (let i = 0; i < terms.length; i++) {
const term = terms[i];
let term = terms[i];
if (term.trim() == "") {
continue;
}
try {
new RegExp(term, "gi");
} catch {
// escape regex characters
term = term.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
}
// remove whole url if it contains the term
content = content.replace(urlRegex, (match) => {
if (new RegExp(`\\b${term}\\b`, "gi").test(match))
@@ -155,10 +161,16 @@ export function anonymizeContent(
export function anonymizePath(path: string, terms: string[]) {
for (let i = 0; i < terms.length; i++) {
const term = terms[i];
let term = terms[i];
if (term.trim() == "") {
continue;
}
try {
new RegExp(term, "gi");
} catch {
// escape regex characters
term = term.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
}
path = path.replace(
new RegExp(term, "gi"),
config.ANONYMIZATION_MASK + "-" + (i + 1)