mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-02-12 18:32:44 +00:00
fix: escape regex characters when invalid
This commit is contained in:
@@ -1233,10 +1233,7 @@ angular
|
||||
function anonymize() {
|
||||
$scope.anonymize.terms.$setValidity("regex", true);
|
||||
// check if string has regex characters
|
||||
if (
|
||||
$scope.terms &&
|
||||
$scope.terms.match(/[-[\]{}()*+?.,\\^$|#\s]/g)
|
||||
) {
|
||||
if ($scope.terms && $scope.terms.match(/[-[\]{}()*+?.,\\^$|#\s]/g)) {
|
||||
$scope.anonymize.terms.$setValidity("regex", false);
|
||||
}
|
||||
const urlRegex =
|
||||
@@ -1279,7 +1276,13 @@ angular
|
||||
);
|
||||
const terms = $scope.terms.split("\n");
|
||||
for (let i = 0; i < terms.length; i++) {
|
||||
const term = terms[i];
|
||||
let term = terms[i];
|
||||
try {
|
||||
new RegExp(term, "gi");
|
||||
} catch {
|
||||
// escape regex characters
|
||||
term = term.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
||||
}
|
||||
if (term.trim() == "") {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user