Skip to content

Commit cb38df5

Browse files
committed
Go: rewrite access paths to dot-style
1 parent 846a876 commit cb38df5

5 files changed

Lines changed: 22 additions & 22 deletions

File tree

ql/lib/semmle/go/dataflow/ExternalFlow.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ private class BuiltinModel extends SummaryModelCsv {
7979
override predicate row(string row) {
8080
row =
8181
[
82-
";;false;append;;;ArrayElement of Argument[0];ArrayElement of ReturnValue;value",
83-
";;false;append;;;Argument[1];ArrayElement of ReturnValue;value"
82+
";;false;append;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value",
83+
";;false;append;;;Argument[1];ReturnValue.ArrayElement;value"
8484
]
8585
}
8686
}

ql/lib/semmle/go/frameworks/stdlib/NetHttp.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ private class FlowSources extends SourceModelCsv {
1010
row =
1111
[
1212
"net/http;Request;true;Cookie;;;ReturnValue[0];remote",
13-
"net/http;Request;true;Cookies;;;ArrayElement of ReturnValue;remote",
13+
"net/http;Request;true;Cookies;;;ReturnValue.ArrayElement;remote",
1414
"net/http;Request;true;FormFile;;;ReturnValue[0..1];remote",
1515
"net/http;Request;true;FormValue;;;ReturnValue;remote",
1616
"net/http;Request;true;MultipartReader;;;ReturnValue[0];remote",

ql/test/library-tests/semmle/go/dataflow/ExternalFlow/completetest.ql

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,19 @@ class SummaryModelTest extends SummaryModelCsv {
2121
"github.com/nonexistent/test;T;false;StepQualRes;;;Argument[-1];ReturnValue;taint",
2222
"github.com/nonexistent/test;T;false;StepQualArg;;;Argument[-1];Argument[0];taint",
2323
"github.com/nonexistent/test;;false;StepArgResNoQual;;;Argument[0];ReturnValue;taint",
24-
"github.com/nonexistent/test;;false;StepArgResArrayContent;;;Argument[0];ArrayElement of ReturnValue;taint",
25-
"github.com/nonexistent/test;;false;StepArgArrayContentRes;;;ArrayElement of Argument[0];ReturnValue;taint",
26-
"github.com/nonexistent/test;;false;StepArgResCollectionContent;;;Argument[0];Element of ReturnValue;taint",
27-
"github.com/nonexistent/test;;false;StepArgCollectionContentRes;;;Element of Argument[0];ReturnValue;taint",
28-
"github.com/nonexistent/test;;false;StepArgResMapKeyContent;;;Argument[0];MapKey of ReturnValue;taint",
29-
"github.com/nonexistent/test;;false;StepArgMapKeyContentRes;;;MapKey of Argument[0];ReturnValue;taint",
30-
"github.com/nonexistent/test;;false;StepArgResMapValueContent;;;Argument[0];MapValue of ReturnValue;taint",
31-
"github.com/nonexistent/test;;false;StepArgMapValueContentRes;;;MapValue of Argument[0];ReturnValue;taint",
32-
"github.com/nonexistent/test;;false;GetElement;;;Element of Argument[0];ReturnValue;value",
33-
"github.com/nonexistent/test;;false;GetMapKey;;;MapKey of Argument[0];ReturnValue;value",
34-
"github.com/nonexistent/test;;false;SetElement;;;Argument[0];Element of ReturnValue;value",
35-
"github.com/nonexistent/test;C;false;Get;;;Field[github.com/nonexistent/test.C.F] of Argument[-1];ReturnValue;value",
36-
"github.com/nonexistent/test;C;false;Set;;;Argument[0];Field[github.com/nonexistent/test.C.F] of Argument[-1];value",
24+
"github.com/nonexistent/test;;false;StepArgResArrayContent;;;Argument[0];ReturnValue.ArrayElement;taint",
25+
"github.com/nonexistent/test;;false;StepArgArrayContentRes;;;Argument[0].ArrayElement;ReturnValue;taint",
26+
"github.com/nonexistent/test;;false;StepArgResCollectionContent;;;Argument[0];ReturnValue.Element;taint",
27+
"github.com/nonexistent/test;;false;StepArgCollectionContentRes;;;Argument[0].Element;ReturnValue;taint",
28+
"github.com/nonexistent/test;;false;StepArgResMapKeyContent;;;Argument[0];ReturnValue.MapKey;taint",
29+
"github.com/nonexistent/test;;false;StepArgMapKeyContentRes;;;Argument[0].MapKey;ReturnValue;taint",
30+
"github.com/nonexistent/test;;false;StepArgResMapValueContent;;;Argument[0];ReturnValue.MapValue;taint",
31+
"github.com/nonexistent/test;;false;StepArgMapValueContentRes;;;Argument[0].MapValue;ReturnValue;taint",
32+
"github.com/nonexistent/test;;false;GetElement;;;Argument[0].Element;ReturnValue;value",
33+
"github.com/nonexistent/test;;false;GetMapKey;;;Argument[0].MapKey;ReturnValue;value",
34+
"github.com/nonexistent/test;;false;SetElement;;;Argument[0];ReturnValue.Element;value",
35+
"github.com/nonexistent/test;C;false;Get;;;Argument[-1].Field[github.com/nonexistent/test.C.F];ReturnValue;value",
36+
"github.com/nonexistent/test;C;false;Set;;;Argument[0];Argument[-1].Field[github.com/nonexistent/test.C.F];value",
3737
]
3838
}
3939
}

ql/test/library-tests/semmle/go/dataflow/ExternalFlow/steps.ql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ class SummaryModelTest extends SummaryModelCsv {
1616
"github.com/nonexistent/test;T;false;StepQualRes;;;Argument[-1];ReturnValue;taint",
1717
"github.com/nonexistent/test;T;false;StepQualArg;;;Argument[-1];Argument[0];taint",
1818
"github.com/nonexistent/test;;false;StepArgResNoQual;;;Argument[0];ReturnValue;taint",
19-
"github.com/nonexistent/test;;false;StepArgResContent;;;Argument[0];ArrayElement of ReturnValue;taint",
20-
"github.com/nonexistent/test;;false;StepArgContentRes;;;ArrayElement of Argument[0];ReturnValue;taint"
19+
"github.com/nonexistent/test;;false;StepArgResContent;;;Argument[0];ReturnValue.ArrayElement;taint",
20+
"github.com/nonexistent/test;;false;StepArgContentRes;;;Argument[0].ArrayElement;ReturnValue;taint"
2121
]
2222
}
2323
}

ql/test/library-tests/semmle/go/dataflow/ExternalFlowVarArgs/Flows.ql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ class SummaryModelTest extends SummaryModelCsv {
99
[
1010
//`namespace; type; subtypes; name; signature; ext; input; output; kind`
1111
"github.com/nonexistent/test;;false;FunctionWithParameter;;;Argument[0];ReturnValue;value",
12-
"github.com/nonexistent/test;;false;FunctionWithSliceParameter;;;ArrayElement of Argument[0];ReturnValue;value",
13-
"github.com/nonexistent/test;;false;FunctionWithVarArgsParameter;;;ArrayElement of Argument[0];ReturnValue;value",
14-
"github.com/nonexistent/test;;false;FunctionWithSliceOfStructsParameter;;;Field[github.com/nonexistent/test.A.Field] of ArrayElement of Argument[0];ReturnValue;value",
15-
"github.com/nonexistent/test;;false;FunctionWithVarArgsOfStructsParameter;;;Field[github.com/nonexistent/test.A.Field] of ArrayElement of Argument[0];ReturnValue;value"
12+
"github.com/nonexistent/test;;false;FunctionWithSliceParameter;;;Argument[0].ArrayElement;ReturnValue;value",
13+
"github.com/nonexistent/test;;false;FunctionWithVarArgsParameter;;;Argument[0].ArrayElement;ReturnValue;value",
14+
"github.com/nonexistent/test;;false;FunctionWithSliceOfStructsParameter;;;Argument[0].ArrayElement.Field[github.com/nonexistent/test.A.Field];ReturnValue;value",
15+
"github.com/nonexistent/test;;false;FunctionWithVarArgsOfStructsParameter;;;Argument[0].ArrayElement.Field[github.com/nonexistent/test.A.Field];ReturnValue;value"
1616
]
1717
}
1818
}

0 commit comments

Comments
 (0)