Skip to content

Commit 3e16d16

Browse files
author
Max Schaefer
committed
JavaScript: Make type tracking-related parameter and predicate names more consistent.
1 parent c50067b commit 3e16d16

File tree

8 files changed

+36
-40
lines changed

8 files changed

+36
-40
lines changed

javascript/ql/src/semmle/javascript/frameworks/Connect.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ module Connect {
125125
t.start() and
126126
result = getARouteHandlerExpr().flow().getALocalSource()
127127
or
128-
exists(DataFlow::TypeBackTracker next |
129-
result = getARouteHandler(next).backtrack(next, t)
128+
exists(DataFlow::TypeBackTracker t2 |
129+
result = getARouteHandler(t2).backtrack(t2, t)
130130
)
131131
}
132132

javascript/ql/src/semmle/javascript/frameworks/Electron.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ module Electron {
6060
t.start() and
6161
result instanceof NewBrowserObject
6262
or
63-
exists(DataFlow::TypeTracker prev |
64-
result = browserObject(prev).track(prev, t)
63+
exists(DataFlow::TypeTracker t2 |
64+
result = browserObject(t2).track(t2, t)
6565
)
6666
}
6767

javascript/ql/src/semmle/javascript/frameworks/Express.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ module Express {
118118
t.start() and
119119
result = getARouteHandlerExpr().flow().getALocalSource()
120120
or
121-
exists(DataFlow::TypeBackTracker next |
122-
result = getARouteHandler(next).backtrack(next, t)
121+
exists(DataFlow::TypeBackTracker t2 |
122+
result = getARouteHandler(t2).backtrack(t2, t)
123123
)
124124
}
125125

javascript/ql/src/semmle/javascript/frameworks/HTTP.qll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -282,13 +282,13 @@ module HTTP {
282282
*/
283283
abstract RouteHandler getRouteHandler();
284284

285-
predicate flowsTo(DataFlow::Node nd) { flowsToSourceNode(DataFlow::TypeTracker::end()).flowsTo(nd) }
285+
predicate flowsTo(DataFlow::Node nd) { ref(DataFlow::TypeTracker::end()).flowsTo(nd) }
286286

287-
private DataFlow::SourceNode flowsToSourceNode(DataFlow::TypeTracker t) {
287+
private DataFlow::SourceNode ref(DataFlow::TypeTracker t) {
288288
t.start() and
289289
result = this
290290
or
291-
exists(DataFlow::TypeTracker prev | result = flowsToSourceNode(prev).track(prev, t))
291+
exists(DataFlow::TypeTracker t2 | result = ref(t2).track(t2, t))
292292
}
293293
}
294294

@@ -303,13 +303,13 @@ module HTTP {
303303
*/
304304
abstract RouteHandler getRouteHandler();
305305

306-
predicate flowsTo(DataFlow::Node nd) { flowsToSourceNode(DataFlow::TypeTracker::end()).flowsTo(nd) }
306+
predicate flowsTo(DataFlow::Node nd) { ref(DataFlow::TypeTracker::end()).flowsTo(nd) }
307307

308-
private DataFlow::SourceNode flowsToSourceNode(DataFlow::TypeTracker t) {
308+
private DataFlow::SourceNode ref(DataFlow::TypeTracker t) {
309309
t.start() and
310310
result = this
311311
or
312-
exists(DataFlow::TypeTracker prev | result = flowsToSourceNode(prev).track(prev, t))
312+
exists(DataFlow::TypeTracker t2 | result = ref(t2).track(t2, t))
313313
}
314314
}
315315

javascript/ql/src/semmle/javascript/frameworks/Hapi.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,8 @@ module Hapi {
200200
t.start() and
201201
result = handler.flow().getALocalSource()
202202
or
203-
exists(DataFlow::TypeBackTracker next |
204-
result = getARouteHandler(next).backtrack(next, t)
203+
exists(DataFlow::TypeBackTracker t2 |
204+
result = getARouteHandler(t2).backtrack(t2, t)
205205
)
206206
}
207207

javascript/ql/src/semmle/javascript/frameworks/Koa.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,15 @@ module Koa {
7979
RouteHandler getRouteHandler() { result = rh }
8080

8181
predicate flowsTo(DataFlow::Node nd) {
82-
flowsToSourceNode(DataFlow::TypeTracker::end()).flowsTo(nd)
82+
ref(DataFlow::TypeTracker::end()).flowsTo(nd)
8383
}
8484

85-
private DataFlow::SourceNode flowsToSourceNode(DataFlow::TypeTracker t) {
85+
private DataFlow::SourceNode ref(DataFlow::TypeTracker t) {
8686
t.start() and
8787
result = this
8888
or
89-
exists(DataFlow::TypeTracker prev |
90-
result = flowsToSourceNode(prev).track(prev, t)
89+
exists(DataFlow::TypeTracker t2 |
90+
result = ref(t2).track(t2, t)
9191
)
9292
}
9393
}

javascript/ql/src/semmle/javascript/frameworks/NodeJSLib.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@ module NodeJSLib {
196196
t.start() and
197197
result = handler.flow().getALocalSource()
198198
or
199-
exists(DataFlow::TypeBackTracker next |
200-
result = getARouteHandler(next).backtrack(next, t)
199+
exists(DataFlow::TypeBackTracker t2 |
200+
result = getARouteHandler(t2).backtrack(t2, t)
201201
)
202202
}
203203

javascript/ql/src/semmle/javascript/frameworks/SocketIO.qll

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,15 @@ module SocketIO {
2525
}
2626

2727
/**
28-
* Gets a data flow node that may refer to the socket.io server created at `srv`, with
29-
* type tracking info stored in `t`.
28+
* Gets a data flow node that may refer to the socket.io server created at `srv`.
3029
*/
3130
private DataFlow::SourceNode server(ServerObject srv, DataFlow::TypeTracker t) {
3231
result = newServer() and
3332
srv = MkServer(result) and
3433
t.start()
3534
or
36-
exists(DataFlow::TypeTracker s, DataFlow::SourceNode pred | pred = server(srv, s) |
37-
result = pred.track(s, t)
35+
exists(DataFlow::TypeTracker t2, DataFlow::SourceNode pred | pred = server(srv, t2) |
36+
result = pred.track(t2, t)
3837
or
3938
// invocation of a chainable method
4039
exists(DataFlow::MethodCallNode mcn, string m |
@@ -52,7 +51,7 @@ module SocketIO {
5251
// exclude getter versions
5352
exists(mcn.getAnArgument()) and
5453
result = mcn and
55-
t = s
54+
t = t2
5655
)
5756
)
5857
}
@@ -85,8 +84,7 @@ module SocketIO {
8584
}
8685

8786
/**
88-
* Gets a data flow node that may refer to the socket.io namespace created at `ns`, with
89-
* type tracking info stored in `t`.
87+
* Gets a data flow node that may refer to the socket.io namespace created at `ns`.
9088
*/
9189
private DataFlow::SourceNode namespace(NamespaceObject ns, DataFlow::TypeTracker t) {
9290
t.start() and
@@ -107,12 +105,12 @@ module SocketIO {
107105
ns = srv.getServer().getDefaultNamespace()
108106
)
109107
or
110-
exists(DataFlow::SourceNode pred, DataFlow::TypeTracker s | pred = namespace(ns, s) |
111-
result = pred.track(s, t)
108+
exists(DataFlow::SourceNode pred, DataFlow::TypeTracker t2 | pred = namespace(ns, t2) |
109+
result = pred.track(t2, t)
112110
or
113111
// invocation of a chainable method
114112
result = pred.getAMethodCall(namespaceChainableMethod()) and
115-
t = s
113+
t = t2
116114
or
117115
// invocation of chainable getter method
118116
exists(string m |
@@ -121,7 +119,7 @@ module SocketIO {
121119
m = "volatile"
122120
|
123121
result = pred.getAPropertyRead(m) and
124-
t = s
122+
t = t2
125123
)
126124
)
127125
}
@@ -137,8 +135,7 @@ module SocketIO {
137135
}
138136

139137
/**
140-
* Gets a data flow node that may refer to a socket.io socket belonging to namespace `ns`, with
141-
* type tracking info stored in `t`.
138+
* Gets a data flow node that may refer to a socket.io socket belonging to namespace `ns`.
142139
*/
143140
private DataFlow::SourceNode socket(NamespaceObject ns, DataFlow::TypeTracker t) {
144141
// callback accepting a socket
@@ -155,8 +152,8 @@ module SocketIO {
155152
result = on.getCallback(1).getParameter(0)
156153
)
157154
or
158-
exists(DataFlow::SourceNode pred, DataFlow::TypeTracker s | pred = socket(ns, s) |
159-
result = pred.track(s, t)
155+
exists(DataFlow::SourceNode pred, DataFlow::TypeTracker t2 | pred = socket(ns, t2) |
156+
result = pred.track(t2, t)
160157
or
161158
// invocation of a chainable method
162159
exists(string m |
@@ -174,7 +171,7 @@ module SocketIO {
174171
m = EventEmitter::chainableMethod()
175172
|
176173
result = pred.getAMethodCall(m) and
177-
t = s
174+
t = t2
178175
)
179176
or
180177
// invocation of a chainable getter method
@@ -185,7 +182,7 @@ module SocketIO {
185182
m = "volatile"
186183
|
187184
result = pred.getAPropertyRead(m) and
188-
t = s
185+
t = t2
189186
)
190187
)
191188
}
@@ -395,8 +392,7 @@ module SocketIO {
395392
*/
396393
module SocketIOClient {
397394
/**
398-
* Gets a data flow node that may refer to the socket.io socket created at `invk`, with
399-
* type tracking info stored in `t`.
395+
* Gets a data flow node that may refer to the socket.io socket created at `invk`.
400396
*/
401397
private DataFlow::SourceNode socket(DataFlow::InvokeNode invk, DataFlow::TypeTracker t) {
402398
t.start() and
@@ -410,7 +406,7 @@ module SocketIOClient {
410406
result = invk
411407
)
412408
or
413-
exists(DataFlow::TypeTracker s | result = socket(invk, s).track(s, t))
409+
exists(DataFlow::TypeTracker t2 | result = socket(invk, t2).track(t2, t))
414410
}
415411

416412
/** A data flow node that may produce a socket object. */

0 commit comments

Comments
 (0)