Skip to content

Commit 4073dfa

Browse files
committed
remove redundant code
1 parent d36312c commit 4073dfa

File tree

2 files changed

+8
-25
lines changed

2 files changed

+8
-25
lines changed

javascript/ql/src/semmle/javascript/security/dataflow/ExceptionXss.qll

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,29 +14,21 @@ module ExceptionXss {
1414
import Xss::StoredXss as StoredXss
1515
import Xss as XSS
1616

17-
DataFlow::ExceptionalInvocationReturnNode getCallerExceptionalReturn(DataFlow::FunctionNode func) {
17+
DataFlow::ExceptionalInvocationReturnNode getCallerExceptionalReturn(Function func) {
1818
exists(DataFlow::InvokeNode call |
1919
not call.isImprecise() and
20-
func.getFunction() = call.(DataFlow::InvokeNode).getACallee() and
20+
func = call.(DataFlow::InvokeNode).getACallee() and
2121
result = call.getExceptionalReturn()
2222
)
2323
}
2424

2525
DataFlow::Node getExceptionalSuccssor(DataFlow::Node pred) {
26-
exists(DataFlow::FunctionNode func |
27-
pred.getContainer() = func.getFunction() and
28-
if exists(getEnclosingTryStmt(pred.asExpr().getEnclosingStmt()))
29-
then
30-
result.(DataFlow::ParameterNode).getParameter() = getEnclosingTryStmt(pred
31-
.asExpr()
32-
.getEnclosingStmt()).getACatchClause().getAParameter()
33-
else result = getCallerExceptionalReturn(func)
34-
)
35-
or
36-
exists(DataFlow::InvokeNode call |
37-
pred = call.getExceptionalReturn() and
38-
result = getExceptionalSuccssor(call)
39-
)
26+
if exists(getEnclosingTryStmt(pred.asExpr().getEnclosingStmt()))
27+
then
28+
result.(DataFlow::ParameterNode).getParameter() = getEnclosingTryStmt(pred
29+
.asExpr()
30+
.getEnclosingStmt()).getACatchClause().getAParameter()
31+
else result = getCallerExceptionalReturn(pred.getContainer())
4032
}
4133

4234
predicate canThrowSensitiveInformation(DataFlow::Node node) {

javascript/ql/test/query-tests/Security/CWE-079/ExceptionXss.expected

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ nodes
99
| exception-xss.js:11:18:11:18 | e |
1010
| exception-xss.js:11:18:11:18 | e |
1111
| exception-xss.js:15:3:15:12 | exceptional return of inner(foo) |
12-
| exception-xss.js:15:3:15:12 | exceptional return of inner(foo) |
1312
| exception-xss.js:15:9:15:11 | foo |
1413
| exception-xss.js:16:10:16:10 | e |
1514
| exception-xss.js:17:18:17:18 | e |
@@ -36,7 +35,6 @@ nodes
3635
| exception-xss.js:42:3:42:10 | exceptional return of inner(x) |
3736
| exception-xss.js:42:9:42:9 | x |
3837
| exception-xss.js:46:3:46:19 | exceptional return of deep("bar" + foo) |
39-
| exception-xss.js:46:3:46:19 | exceptional return of deep("bar" + foo) |
4038
| exception-xss.js:46:8:46:18 | "bar" + foo |
4139
| exception-xss.js:46:16:46:18 | foo |
4240
| exception-xss.js:47:10:47:10 | e |
@@ -46,7 +44,6 @@ nodes
4644
| exception-xss.js:75:4:75:11 | exceptional return of inner(x) |
4745
| exception-xss.js:75:10:75:10 | x |
4846
| exception-xss.js:81:3:81:19 | exceptional return of myWeirdInner(foo) |
49-
| exception-xss.js:81:3:81:19 | exceptional return of myWeirdInner(foo) |
5047
| exception-xss.js:81:16:81:18 | foo |
5148
| exception-xss.js:82:10:82:10 | e |
5249
| exception-xss.js:83:18:83:18 | e |
@@ -81,14 +78,12 @@ edges
8178
| exception-xss.js:2:15:2:31 | document.location | exception-xss.js:2:9:2:31 | foo |
8279
| exception-xss.js:4:20:4:20 | x | exception-xss.js:5:14:5:14 | x |
8380
| exception-xss.js:5:14:5:14 | x | exception-xss.js:15:3:15:12 | exceptional return of inner(foo) |
84-
| exception-xss.js:5:14:5:14 | x | exception-xss.js:15:3:15:12 | exceptional return of inner(foo) |
8581
| exception-xss.js:5:14:5:14 | x | exception-xss.js:42:3:42:10 | exceptional return of inner(x) |
8682
| exception-xss.js:5:14:5:14 | x | exception-xss.js:75:4:75:11 | exceptional return of inner(x) |
8783
| exception-xss.js:9:11:9:13 | foo | exception-xss.js:10:10:10:10 | e |
8884
| exception-xss.js:10:10:10:10 | e | exception-xss.js:11:18:11:18 | e |
8985
| exception-xss.js:10:10:10:10 | e | exception-xss.js:11:18:11:18 | e |
9086
| exception-xss.js:15:3:15:12 | exceptional return of inner(foo) | exception-xss.js:16:10:16:10 | e |
91-
| exception-xss.js:15:3:15:12 | exceptional return of inner(foo) | exception-xss.js:16:10:16:10 | e |
9287
| exception-xss.js:15:9:15:11 | foo | exception-xss.js:4:20:4:20 | x |
9388
| exception-xss.js:16:10:16:10 | e | exception-xss.js:17:18:17:18 | e |
9489
| exception-xss.js:16:10:16:10 | e | exception-xss.js:17:18:17:18 | e |
@@ -106,23 +101,19 @@ edges
106101
| exception-xss.js:34:10:34:10 | e | exception-xss.js:35:18:35:18 | e |
107102
| exception-xss.js:38:16:38:16 | x | exception-xss.js:39:9:39:9 | x |
108103
| exception-xss.js:39:3:39:10 | exceptional return of deep2(x) | exception-xss.js:46:3:46:19 | exceptional return of deep("bar" + foo) |
109-
| exception-xss.js:39:3:39:10 | exceptional return of deep2(x) | exception-xss.js:46:3:46:19 | exceptional return of deep("bar" + foo) |
110104
| exception-xss.js:39:9:39:9 | x | exception-xss.js:41:17:41:17 | x |
111105
| exception-xss.js:41:17:41:17 | x | exception-xss.js:42:9:42:9 | x |
112106
| exception-xss.js:42:3:42:10 | exceptional return of inner(x) | exception-xss.js:39:3:39:10 | exceptional return of deep2(x) |
113107
| exception-xss.js:42:9:42:9 | x | exception-xss.js:4:20:4:20 | x |
114108
| exception-xss.js:46:3:46:19 | exceptional return of deep("bar" + foo) | exception-xss.js:47:10:47:10 | e |
115-
| exception-xss.js:46:3:46:19 | exceptional return of deep("bar" + foo) | exception-xss.js:47:10:47:10 | e |
116109
| exception-xss.js:46:8:46:18 | "bar" + foo | exception-xss.js:38:16:38:16 | x |
117110
| exception-xss.js:46:16:46:18 | foo | exception-xss.js:46:8:46:18 | "bar" + foo |
118111
| exception-xss.js:47:10:47:10 | e | exception-xss.js:48:18:48:18 | e |
119112
| exception-xss.js:47:10:47:10 | e | exception-xss.js:48:18:48:18 | e |
120113
| exception-xss.js:74:28:74:28 | x | exception-xss.js:75:10:75:10 | x |
121114
| exception-xss.js:75:4:75:11 | exceptional return of inner(x) | exception-xss.js:81:3:81:19 | exceptional return of myWeirdInner(foo) |
122-
| exception-xss.js:75:4:75:11 | exceptional return of inner(x) | exception-xss.js:81:3:81:19 | exceptional return of myWeirdInner(foo) |
123115
| exception-xss.js:75:10:75:10 | x | exception-xss.js:4:20:4:20 | x |
124116
| exception-xss.js:81:3:81:19 | exceptional return of myWeirdInner(foo) | exception-xss.js:82:10:82:10 | e |
125-
| exception-xss.js:81:3:81:19 | exceptional return of myWeirdInner(foo) | exception-xss.js:82:10:82:10 | e |
126117
| exception-xss.js:81:16:81:18 | foo | exception-xss.js:74:28:74:28 | x |
127118
| exception-xss.js:82:10:82:10 | e | exception-xss.js:83:18:83:18 | e |
128119
| exception-xss.js:82:10:82:10 | e | exception-xss.js:83:18:83:18 | e |

0 commit comments

Comments
 (0)