Skip to content

Commit 55edfed

Browse files
committed
support jQuery().get() returning a DOM node
1 parent dd9aec0 commit 55edfed

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

  • javascript/ql/src/semmle/javascript

javascript/ql/src/semmle/javascript/DOM.qll

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import javascript
66
import semmle.javascript.frameworks.Templating
7+
private import semmle.javascript.dataflow.InferredTypes
78

89
module DOM {
910
/**
@@ -292,10 +293,18 @@ module DOM {
292293

293294
private class DefaultRange extends Range {
294295
DefaultRange() {
295-
this.asExpr().(VarAccess).getVariable() instanceof DOMGlobalVariable or
296-
this = domValueRef().getAPropertyRead() or
297-
this = domElementCreationOrQuery() or
296+
this.asExpr().(VarAccess).getVariable() instanceof DOMGlobalVariable
297+
or
298+
this = domValueRef().getAPropertyRead()
299+
or
300+
this = domElementCreationOrQuery()
301+
or
298302
this = domElementCollection()
303+
or
304+
exists(JQuery::MethodCall call | this = call and call.getMethodName() = "get" |
305+
call.getNumArgument() = 1 and
306+
forex(InferredType t | t = call.getArgument(0).analyze().getAType() | t = TTNumber())
307+
)
299308
}
300309
}
301310
}

0 commit comments

Comments
 (0)