Skip to content

Commit 76a07f7

Browse files
committed
C++: Use [, ...] syntax.
1 parent d31987d commit 76a07f7

File tree

2 files changed

+12
-35
lines changed

2 files changed

+12
-35
lines changed

cpp/ql/src/semmle/code/cpp/models/implementations/StdContainer.qll

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ import semmle.code.cpp.models.interfaces.Taint
1414
*/
1515
class StdSequenceContainerConstructor extends Constructor, TaintFunction {
1616
StdSequenceContainerConstructor() {
17-
this.getDeclaringType().hasQualifiedName("std", "vector") or
18-
this.getDeclaringType().hasQualifiedName("std", "deque") or
19-
this.getDeclaringType().hasQualifiedName("std", "list") or
20-
this.getDeclaringType().hasQualifiedName("std", "forward_list")
17+
this.getDeclaringType().hasQualifiedName("std", ["vector", "deque", "list", "forward_list"])
2118
}
2219

2320
/**
@@ -42,10 +39,8 @@ class StdSequenceContainerConstructor extends Constructor, TaintFunction {
4239
class StdSequenceContainerPush extends TaintFunction {
4340
StdSequenceContainerPush() {
4441
this.hasQualifiedName("std", "vector", "push_back") or
45-
this.hasQualifiedName("std", "deque", "push_back") or
46-
this.hasQualifiedName("std", "deque", "push_front") or
47-
this.hasQualifiedName("std", "list", "push_back") or
48-
this.hasQualifiedName("std", "list", "push_front") or
42+
this.hasQualifiedName("std", "deque", ["push_back", "push_front"]) or
43+
this.hasQualifiedName("std", "list", ["push_back", "push_front"]) or
4944
this.hasQualifiedName("std", "forward_list", "push_front")
5045
}
5146

@@ -61,14 +56,10 @@ class StdSequenceContainerPush extends TaintFunction {
6156
*/
6257
class StdSequenceContainerFrontBack extends TaintFunction {
6358
StdSequenceContainerFrontBack() {
64-
this.hasQualifiedName("std", "array", "front") or
65-
this.hasQualifiedName("std", "array", "back") or
66-
this.hasQualifiedName("std", "vector", "front") or
67-
this.hasQualifiedName("std", "vector", "back") or
68-
this.hasQualifiedName("std", "deque", "front") or
69-
this.hasQualifiedName("std", "deque", "back") or
70-
this.hasQualifiedName("std", "list", "front") or
71-
this.hasQualifiedName("std", "list", "back") or
59+
this.hasQualifiedName("std", "array", ["front", "back"]) or
60+
this.hasQualifiedName("std", "vector", ["front", "back"]) or
61+
this.hasQualifiedName("std", "deque", ["front", "back"]) or
62+
this.hasQualifiedName("std", "list", ["front", "back"]) or
7263
this.hasQualifiedName("std", "forward_list", "front")
7364
}
7465

@@ -84,11 +75,7 @@ class StdSequenceContainerFrontBack extends TaintFunction {
8475
*/
8576
class StdSequenceContainerSwap extends TaintFunction {
8677
StdSequenceContainerSwap() {
87-
this.hasQualifiedName("std", "array", "swap") or
88-
this.hasQualifiedName("std", "vector", "swap") or
89-
this.hasQualifiedName("std", "deque", "swap") or
90-
this.hasQualifiedName("std", "list", "swap") or
91-
this.hasQualifiedName("std", "forward_list", "swap")
78+
this.hasQualifiedName("std", ["array", "vector", "deque", "list", "forward_list"], "swap")
9279
}
9380

9481
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
@@ -106,12 +93,7 @@ class StdSequenceContainerSwap extends TaintFunction {
10693
*/
10794
class StdSequenceContainerAt extends TaintFunction {
10895
StdSequenceContainerAt() {
109-
this.hasQualifiedName("std", "vector", "at") or
110-
this.hasQualifiedName("std", "vector", "operator[]") or
111-
this.hasQualifiedName("std", "array", "at") or
112-
this.hasQualifiedName("std", "array", "operator[]") or
113-
this.hasQualifiedName("std", "deque", "at") or
114-
this.hasQualifiedName("std", "deque", "operator[]")
96+
this.hasQualifiedName("std", ["vector", "array", "deque"], ["at", "operator[]"])
11597
}
11698

11799
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {

cpp/ql/src/semmle/code/cpp/models/implementations/StdString.qll

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ class StdBasicString extends TemplateClass {
1212
*/
1313
class StdStringCStr extends TaintFunction {
1414
StdStringCStr() {
15-
this.hasQualifiedName("std", "basic_string", "c_str") or
16-
this.hasQualifiedName("std", "basic_string", "data")
15+
this.hasQualifiedName("std", "basic_string", ["c_str", "data"])
1716
}
1817

1918
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
@@ -49,10 +48,7 @@ class StdStringPlus extends TaintFunction {
4948
*/
5049
class StdStringAppend extends TaintFunction {
5150
StdStringAppend() {
52-
this.hasQualifiedName("std", "basic_string", "operator+=") or
53-
this.hasQualifiedName("std", "basic_string", "append") or
54-
this.hasQualifiedName("std", "basic_string", "insert") or
55-
this.hasQualifiedName("std", "basic_string", "replace")
51+
this.hasQualifiedName("std", "basic_string", ["operator+=", "append", "insert", "replace"])
5652
}
5753

5854
/**
@@ -151,8 +147,7 @@ class StdStringSwap extends TaintFunction {
151147
*/
152148
class StdStringAt extends TaintFunction {
153149
StdStringAt() {
154-
this.hasQualifiedName("std", "basic_string", "at") or
155-
this.hasQualifiedName("std", "basic_string", "operator[]")
150+
this.hasQualifiedName("std", "basic_string", ["at", "operator[]"])
156151
}
157152

158153
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {

0 commit comments

Comments
 (0)