Skip to content

Commit 0e50204

Browse files
author
Alvaro Muñoz
committed
More regexp improvements
1 parent 87b284e commit 0e50204

13 files changed

+59
-45
lines changed

ql/lib/codeql/actions/ast/internal/Ast.qll

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
private import codeql.actions.ast.internal.Yaml
22
private import codeql.Locations
3+
private import codeql.actions.Ast::Utils as Utils
34

45
/**
56
* Gets the length of each line in the StringValue .
@@ -833,9 +834,9 @@ class StepsExpressionImpl extends ContextExpressionImpl {
833834
string fieldName;
834835

835836
StepsExpressionImpl() {
836-
expression.regexpMatch(stepsCtxRegex()) and
837-
stepId = expression.regexpCapture(stepsCtxRegex(), 1) and
838-
fieldName = expression.regexpCapture(stepsCtxRegex(), 2)
837+
Utils::normalizeExpr(expression).regexpMatch(stepsCtxRegex()) and
838+
stepId = Utils::normalizeExpr(expression).regexpCapture(stepsCtxRegex(), 1) and
839+
fieldName = Utils::normalizeExpr(expression).regexpCapture(stepsCtxRegex(), 2)
839840
}
840841

841842
override string getFieldName() { result = fieldName }
@@ -856,9 +857,9 @@ class NeedsExpressionImpl extends ContextExpressionImpl {
856857
string fieldName;
857858

858859
NeedsExpressionImpl() {
859-
expression.regexpMatch(needsCtxRegex()) and
860-
fieldName = expression.regexpCapture(needsCtxRegex(), 2) and
861-
neededJob.getId() = expression.regexpCapture(needsCtxRegex(), 1) and
860+
Utils::normalizeExpr(expression).regexpMatch(needsCtxRegex()) and
861+
fieldName = Utils::normalizeExpr(expression).regexpCapture(needsCtxRegex(), 2) and
862+
neededJob.getId() = Utils::normalizeExpr(expression).regexpCapture(needsCtxRegex(), 1) and
862863
neededJob.getLocation().getFile() = this.getLocation().getFile()
863864
}
864865

@@ -886,9 +887,9 @@ class JobsExpressionImpl extends ContextExpressionImpl {
886887
string fieldName;
887888

888889
JobsExpressionImpl() {
889-
expression.regexpMatch(jobsCtxRegex()) and
890-
jobId = expression.regexpCapture(jobsCtxRegex(), 1) and
891-
fieldName = expression.regexpCapture(jobsCtxRegex(), 2)
890+
Utils::normalizeExpr(expression).regexpMatch(jobsCtxRegex()) and
891+
jobId = Utils::normalizeExpr(expression).regexpCapture(jobsCtxRegex(), 1) and
892+
fieldName = Utils::normalizeExpr(expression).regexpCapture(jobsCtxRegex(), 2)
892893
}
893894

894895
override string getFieldName() { result = fieldName }
@@ -911,8 +912,8 @@ class InputsExpressionImpl extends ContextExpressionImpl {
911912
string fieldName;
912913

913914
InputsExpressionImpl() {
914-
expression.regexpMatch(inputsCtxRegex()) and
915-
fieldName = expression.regexpCapture(inputsCtxRegex(), 1)
915+
Utils::normalizeExpr(expression).regexpMatch(inputsCtxRegex()) and
916+
fieldName = Utils::normalizeExpr(expression).regexpCapture(inputsCtxRegex(), 1)
916917
}
917918

918919
override string getFieldName() { result = fieldName }
@@ -936,8 +937,8 @@ class EnvExpressionImpl extends ContextExpressionImpl {
936937
string fieldName;
937938

938939
EnvExpressionImpl() {
939-
expression.regexpMatch(envCtxRegex()) and
940-
fieldName = expression.regexpCapture(envCtxRegex(), 1)
940+
Utils::normalizeExpr(expression).regexpMatch(envCtxRegex()) and
941+
fieldName = Utils::normalizeExpr(expression).regexpCapture(envCtxRegex(), 1)
941942
}
942943

943944
override string getFieldName() { result = fieldName }
@@ -959,8 +960,8 @@ class MatrixExpressionImpl extends ContextExpressionImpl {
959960
string fieldName;
960961

961962
MatrixExpressionImpl() {
962-
expression.regexpMatch(matrixCtxRegex()) and
963-
fieldName = expression.regexpCapture(matrixCtxRegex(), 1)
963+
Utils::normalizeExpr(expression).regexpMatch(matrixCtxRegex()) and
964+
fieldName = Utils::normalizeExpr(expression).regexpCapture(matrixCtxRegex(), 1)
964965
}
965966

966967
override string getFieldName() { result = fieldName }

ql/lib/codeql/actions/dataflow/ExternalFlow.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
private import internal.ExternalFlowExtensions as Extensions
2-
import codeql.actions.DataFlow
3-
import actions
2+
private import codeql.actions.DataFlow
3+
private import actions
44

55
/**
66
* MaD sources

ql/lib/codeql/actions/dataflow/FlowSources.qll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import actions
2-
import codeql.actions.DataFlow
3-
import codeql.actions.dataflow.ExternalFlow
4-
import codeql.actions.Ast::Utils as Utils
1+
private import actions
2+
private import codeql.actions.DataFlow
3+
private import codeql.actions.dataflow.ExternalFlow
4+
private import codeql.actions.Ast::Utils as Utils
55

66
/**
77
* A data flow source.

ql/lib/codeql/actions/dataflow/FlowSteps.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
* Provides classes representing various flow steps for taint tracking.
33
*/
44

5-
import actions
5+
private import actions
66
private import codeql.util.Unit
77
private import codeql.actions.DataFlow
8-
import codeql.actions.dataflow.ExternalFlow
8+
private import codeql.actions.dataflow.ExternalFlow
99

1010
/**
1111
* A unit class for adding additional taint steps.

ql/src/Security/CWE-020/CompositeActionsSinks.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313

1414
import actions
15+
import codeql.actions.DataFlow
1516
import codeql.actions.TaintTracking
1617
import codeql.actions.dataflow.FlowSources
1718
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-020/CompositeActionsSources.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313

1414
import actions
15+
import codeql.actions.DataFlow
1516
import codeql.actions.TaintTracking
1617
import codeql.actions.dataflow.FlowSources
1718
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-020/CompositeActionsSummaries.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313

1414
import actions
15+
import codeql.actions.DataFlow
1516
import codeql.actions.TaintTracking
1617
import codeql.actions.dataflow.FlowSources
1718
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-020/ReusableWorkflowsSinks.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313

1414
import actions
15+
import codeql.actions.DataFlow
1516
import codeql.actions.TaintTracking
1617
import codeql.actions.dataflow.FlowSources
1718
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-020/ReusableWorkflowsSources.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313

1414
import actions
15+
import codeql.actions.DataFlow
1516
import codeql.actions.TaintTracking
1617
import codeql.actions.dataflow.FlowSources
1718
import codeql.actions.dataflow.ExternalFlow

ql/src/Security/CWE-020/ReusableWorkflowsSummaries.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
*/
1313

1414
import actions
15+
import codeql.actions.DataFlow
1516
import codeql.actions.TaintTracking
1617
import codeql.actions.dataflow.FlowSources
1718
import codeql.actions.dataflow.ExternalFlow

0 commit comments

Comments
 (0)