mirror of
https://github.com/github/codeql.git
synced 2026-04-29 18:55:14 +02:00
JS: Do not recursively import javascript into DataFlow:: scope
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import javascript
|
||||
private import javascript
|
||||
private import semmle.javascript.dataflow.internal.AbstractValuesImpl
|
||||
private import semmle.javascript.dataflow.InferredTypes
|
||||
private import semmle.javascript.dataflow.internal.AbstractPropertiesImpl
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* the source of imprecision that caused them to arise.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import semmle.javascript.dataflow.internal.AbstractValuesImpl
|
||||
private import InferredTypes
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
* computed by `onPath`.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import internal.FlowSteps
|
||||
private import internal.AccessPaths
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* should be part of the standard library.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import internal.AbstractValuesImpl
|
||||
private import InferredTypes
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ private predicate isEscape(DataFlow::Node escape, string cause) {
|
||||
or
|
||||
escape = any(ThrowStmt t).getExpr().flow() and cause = "throw"
|
||||
or
|
||||
escape = any(DataFlow::GlobalVariable v).getAnAssignedExpr().flow() and cause = "global"
|
||||
escape = any(GlobalVariable v).getAnAssignedExpr().flow() and cause = "global"
|
||||
or
|
||||
escape = any(DataFlow::PropWrite write).getRhs() and cause = "heap"
|
||||
or
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
* parameters.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
import semmle.javascript.dependencies.Dependencies
|
||||
private import javascript
|
||||
private import semmle.javascript.dependencies.Dependencies
|
||||
|
||||
/** A data flow node corresponding to an expression. */
|
||||
class ExprNode extends DataFlow::ValueNode {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* local tracking within a function.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import semmle.javascript.dataflow.TypeTracking
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* set of data flow nodes.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import internal.FlowSteps as FlowSteps
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
* read are marked as indefinite.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
import AbstractValues
|
||||
import AbstractProperties
|
||||
private import InferredTypes
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* a given value came from.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import internal.FlowSteps
|
||||
|
||||
private class PropertyName extends string {
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* Provides a representation for abstract values.
|
||||
*/
|
||||
|
||||
private import javascript
|
||||
import semmle.javascript.dataflow.AbstractValues
|
||||
private import semmle.javascript.dataflow.InferredTypes
|
||||
import semmle.javascript.dataflow.CustomAbstractValueDefinitions
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* and property accesses.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import AbstractValuesImpl
|
||||
private import semmle.javascript.dataflow.InferredTypes
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* Provides classes implementing type inference across imports.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import AbstractValuesImpl
|
||||
private import semmle.javascript.dataflow.InferredTypes
|
||||
private import AbstractPropertiesImpl
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
* Provides classes implementing type inference across function calls.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
import AbstractValuesImpl
|
||||
import semmle.javascript.dataflow.LocalObjects
|
||||
private import semmle.javascript.dataflow.LocalObjects
|
||||
|
||||
/**
|
||||
* Flow analysis for `this` expressions inside functions.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* Provides classes implementing type inference for properties.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
import semmle.javascript.dataflow.AbstractProperties
|
||||
private import AbstractPropertiesImpl
|
||||
private import AbstractValuesImpl
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* Provides classes implementing type inference for variables.
|
||||
*/
|
||||
|
||||
import javascript
|
||||
private import javascript
|
||||
private import AbstractValuesImpl
|
||||
private import semmle.javascript.dataflow.InferredTypes
|
||||
private import semmle.javascript.dataflow.Refinements
|
||||
|
||||
Reference in New Issue
Block a user