JS: add tests for missing flow of regular expressions

This commit is contained in:
Esben Sparre Andreasen
2019-03-22 08:12:49 +01:00
parent 42d3012f81
commit 7923c9d77c
4 changed files with 23 additions and 0 deletions

View File

@@ -60,3 +60,12 @@ function badPercentEscape(s) {
s = s.replace(/%/g, '%25');
return s;
}
function badEncode(s) {
var indirect1 = /"/g;
var indirect2 = /'/g;
var indirect3 = /&/g;
return s.replace(indirect1, """)
.replace(indirect2, "'")
.replace(indirect3, "&");
}

View File

@@ -163,3 +163,8 @@ app.get('/some/path', function(req, res) {
flowifyComments(untrusted);
good11(untrusted);
});
(function (s) {
var indirect = /'/;
return s.replace(indirect, ""); // NOT OK
});

View File

@@ -1,2 +1,7 @@
// NOT OK
window.location = /.*redirect=([^&]*).*/.exec(document.location.href)[1];
(function(){
var indirect = /.*redirect=([^&]*).*/;
window.location = indirect.exec(document.location.href)[1];
});