mirror of
https://github.com/github/codeql.git
synced 2025-12-17 09:13:20 +01:00
JS: support indirection with extra args in js/missing-this-qualifier
This commit is contained in:
@@ -43,6 +43,7 @@
|
|||||||
| Duplicate switch case | Lower severity | The severity of this rule has been revised to "warning". |
|
| Duplicate switch case | Lower severity | The severity of this rule has been revised to "warning". |
|
||||||
| Information exposure through a stack trace | More results | This rule now also flags cases where the entire exception object (including the stack trace) may be exposed. |
|
| Information exposure through a stack trace | More results | This rule now also flags cases where the entire exception object (including the stack trace) may be exposed. |
|
||||||
| Missing CSRF middleware | Fewer false-positive results | This rule now recognizes additional CSRF protection middlewares. |
|
| Missing CSRF middleware | Fewer false-positive results | This rule now recognizes additional CSRF protection middlewares. |
|
||||||
|
| Missing 'this' qualifier | Fewer false-positive results | This rule now recognizes additional intentional calls to global functions. |
|
||||||
| Missing variable declaration | Lower severity | The severity of this rule has been revised to "warning". |
|
| Missing variable declaration | Lower severity | The severity of this rule has been revised to "warning". |
|
||||||
| Regular expression injection | Fewer false-positive results | This rule now identifies calls to `String.prototype.search` with more precision. |
|
| Regular expression injection | Fewer false-positive results | This rule now identifies calls to `String.prototype.search` with more precision. |
|
||||||
| Remote property injection | Fewer results | The precision of this rule has been revised to "medium". Results are no longer shown on LGTM by default. |
|
| Remote property injection | Fewer results | The precision of this rule has been revised to "medium". Results are no longer shown on LGTM by default. |
|
||||||
|
|||||||
@@ -50,5 +50,13 @@ where maybeMissingThis(call, intendedTarget, gv)
|
|||||||
decl.isNamespaceExport() and
|
decl.isNamespaceExport() and
|
||||||
call.getContainer().getEnclosingContainer*() instanceof NamespaceDeclaration
|
call.getContainer().getEnclosingContainer*() instanceof NamespaceDeclaration
|
||||||
)
|
)
|
||||||
|
or
|
||||||
|
// call to global function with additional arguments
|
||||||
|
exists (Function self |
|
||||||
|
intendedTarget.getBody() = self and
|
||||||
|
call.getEnclosingFunction() = self and
|
||||||
|
call.flow().(DataFlow::CallNode).getNumArgument() > self.getNumParameter() and
|
||||||
|
not self.usesArgumentsObject()
|
||||||
|
)
|
||||||
)
|
)
|
||||||
select call, "This call refers to a global function, and not the local method $@.", intendedTarget, intendedTarget.getName()
|
select call, "This call refers to a global function, and not the local method $@.", intendedTarget, intendedTarget.getName()
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class X {
|
||||||
|
m() {
|
||||||
|
m("default"); // OK
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user