mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
62 lines
1.4 KiB
JavaScript
62 lines
1.4 KiB
JavaScript
function NOT_OK() {
|
|
// regex-like strings
|
|
"".replace("/foo/i", "");
|
|
"".replace("/^foo/", "");
|
|
"".replace("/foo$/", "");
|
|
"".replace("^foo$", "");
|
|
"".replace("\s", "");
|
|
"".replace("foo\sbar", "");
|
|
"".replace("foo\s", "");
|
|
"".replace("\sbar", "");
|
|
"".replace("foo\[bar", "");
|
|
"".replace("\[", "");
|
|
"".replace("\]", "");
|
|
"".replace("\(", "");
|
|
"".replace("\)", "");
|
|
"".replace("\*", "");
|
|
"".replace("\+", "");
|
|
"".replace("\?", "");
|
|
"".replace("\{", "");
|
|
"".replace("\}", "");
|
|
"".replace("\|", "");
|
|
"".replace("\^", "");
|
|
"".replace("\$", "");
|
|
"".replace("[a-zA-Z123]+", "");
|
|
"".replace("[a-z]+", "");
|
|
"".replace("[a-z]*", "");
|
|
"".replace("[0-9_-]+", "");
|
|
"".replace("[^a-z]+", "");
|
|
"".replace("foo[^a-z]+bar", "");
|
|
|
|
// shapes
|
|
f().replace("/foo/i", x);
|
|
var v1 = "/foo/i";
|
|
f().replace(v1, x);
|
|
o.p.q.replace("/foo/i", x);
|
|
|
|
// examples in the wild
|
|
"".replace('^\s+|\s+$', '');
|
|
"".replace("[^a-zA-Z0-9 ]+", "");
|
|
|
|
// non-replace methods
|
|
"".split("/foo/i");
|
|
"".split("/foo/i", x);
|
|
}
|
|
|
|
function OK() {
|
|
// negatives
|
|
f.replace("/foo/i");
|
|
f.replace({}, "");
|
|
f.replace("/foo/i", "", "");
|
|
|
|
f.replace(/foo/i, "");
|
|
|
|
var v2 = "/foo/" + "i";
|
|
f().replace(v2, x); // only handing string literals
|
|
|
|
f.replace("\\s", "");
|
|
f.replace("\\d", "");
|
|
f.replace("\\(", "");
|
|
f.replace("\\[", "");
|
|
}
|