Skip to content

Commit 430bf2d

Browse files
committed
JS: Fix whitelisting in UselessConditional
1 parent 1d994b0 commit 430bf2d

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

javascript/ql/src/Statements/UselessConditional.ql

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ predicate isInitialParameterUse(Expr e) {
6262
not p.isRestParameter()
6363
)
6464
or
65+
// same as above, but for captured variables
66+
exists(SimpleParameter p, LocalVariable var |
67+
var = p.getVariable() and
68+
var.isCaptured() and
69+
e = var.getAnAccess() and
70+
not p.isRestParameter()
71+
)
72+
or
6573
isInitialParameterUse(e.(LogNotExpr).getOperand())
6674
}
6775

javascript/ql/test/query-tests/Statements/UselessConditional/UselessConditional.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ async function awaitFlow(){
7979

8080
function f3(x) {
8181
(function(){
82-
x || y // NOT OK
82+
x || y // NOT OK, but whitelisted
8383
});
8484
}
8585
f3(true);

0 commit comments

Comments
 (0)