Skip to content

Commit 160f3b4

Browse files
Remove ArrayElement from sink specifications
1 parent 4bea334 commit 160f3b4

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

java/ql/src/semmle/code/java/frameworks/SpringJdbc.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ private class SqlSinkCsv extends SinkModelCsv {
1515
row =
1616
[
1717
//"package;type;overrides;name;signature;ext;spec;kind"
18-
"org.springframework.jdbc.core;JdbcTemplate;false;batchUpdate;(String[]);;ArrayElement of Argument[0];sql",
18+
"org.springframework.jdbc.core;JdbcTemplate;false;batchUpdate;(String[]);;Argument[0];sql",
1919
"org.springframework.jdbc.core;JdbcTemplate;false;batchUpdate;;;Argument[0];sql",
2020
"org.springframework.jdbc.core;JdbcTemplate;false;execute;;;Argument[0];sql",
2121
"org.springframework.jdbc.core;JdbcTemplate;false;update;;;Argument[0];sql",

java/ql/src/semmle/code/java/frameworks/android/SQLite.qll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,25 +41,25 @@ private class SQLiteSinkCsv extends SinkModelCsv {
4141
// queryWithFactory(SQLiteDatabase.CursorFactory cursorFactory, boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
4242
// Each String / String[] arg except for selectionArgs is a sink
4343
"android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[0];sql",
44-
"android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;ArrayElement of Argument[1];sql",
44+
"android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[1];sql",
4545
"android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[2];sql",
4646
"android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[4..7];sql",
4747
"android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String);;Argument[0..2];sql",
4848
"android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String);;Argument[4..6];sql",
4949
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[1];sql",
50-
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;ArrayElement of Argument[2];sql",
50+
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[2];sql",
5151
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[3];sql",
5252
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[5..8];sql",
5353
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[1];sql",
54-
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;ArrayElement of Argument[2];sql",
54+
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql",
5555
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[3];sql",
5656
"android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[5..8];sql",
5757
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[2];sql",
58-
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;ArrayElement of Argument[3];sql",
58+
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[3];sql",
5959
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[4];sql",
6060
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[6..9];sql",
6161
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql",
62-
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;ArrayElement of Argument[3];sql",
62+
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[3];sql",
6363
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[4];sql",
6464
"android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[6..9];sql",
6565
"android.database.sqlite;SQLiteDatabase;false;rawQuery;(String,String[]);;Argument[0];sql",
@@ -87,15 +87,15 @@ private class SQLiteSinkCsv extends SinkModelCsv {
8787
// query(SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder, String limit)
8888
// query(SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder, String limit, CancellationSignal cancellationSignal)
8989
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[-1];sql",
90-
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;ArrayElement of Argument[1];sql",
90+
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[1];sql",
9191
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[2];sql",
9292
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[4..6];sql",
9393
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[-1];sql",
94-
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;ArrayElement of Argument[1];sql",
94+
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[1];sql",
9595
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[2];sql",
9696
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[4..7];sql",
9797
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[-1];sql",
98-
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;ArrayElement of Argument[1];sql",
98+
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[1];sql",
9999
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql",
100100
"android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[4..7];sql",
101101
"android.content;ContentProvider;true;delete;(Uri,String,String[]);;Argument[1];sql",

java/ql/test/library-tests/frameworks/android/taint-database/Sinks.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public static void insert(MySQLiteQueryBuilder target) {
8585
public static void query(SQLiteDatabase target) {
8686
boolean distinct = taint();
8787
String table = taint(); // $taintReachesSink
88-
String[] columns = {taint()}; // $ MISSING: taintReachesSink
88+
String[] columns = {taint()}; // $taintReachesSink
8989
String selection = taint(); // $taintReachesSink
9090
String[] selectionArgs = {taint()};
9191
String groupBy = taint(); // $taintReachesSink
@@ -98,7 +98,7 @@ public static void query(SQLiteDatabase target) {
9898
public static void query2(SQLiteDatabase target) {
9999
boolean distinct = taint();
100100
String table = taint(); // $taintReachesSink
101-
String[] columns = {taint()}; // $ MISSING: taintReachesSink
101+
String[] columns = {taint()}; // $taintReachesSink
102102
String selection = taint(); // $taintReachesSink
103103
String[] selectionArgs = {taint()};
104104
String groupBy = taint(); // $taintReachesSink
@@ -123,7 +123,7 @@ public static void query3(SQLiteDatabase target) {
123123

124124
public static void query4(SQLiteDatabase target) {
125125
String table = taint(); // $taintReachesSink
126-
String[] columns = {taint()}; // $ MISSING: taintReachesSink
126+
String[] columns = {taint()}; // $taintReachesSink
127127
String selection = taint(); // $taintReachesSink
128128
String[] selectionArgs = {taint()};
129129
String groupBy = taint(); // $taintReachesSink
@@ -136,7 +136,7 @@ public static void query4(SQLiteDatabase target) {
136136
public static void query(MySQLiteQueryBuilder target) {
137137
target = taint(); // $taintReachesSink
138138
SQLiteDatabase db = taint();
139-
String[] projectionIn = {taint()}; // $ MISSING: taintReachesSink
139+
String[] projectionIn = {taint()}; // $taintReachesSink
140140
String selection = taint(); // $taintReachesSink
141141
String[] selectionArgs = {taint()};
142142
String groupBy = taint(); // $taintReachesSink
@@ -148,7 +148,7 @@ public static void query(MySQLiteQueryBuilder target) {
148148
public static void query2(MySQLiteQueryBuilder target) {
149149
target = taint(); // $taintReachesSink
150150
SQLiteDatabase db = taint();
151-
String[] projectionIn = {taint()}; // $ MISSING: taintReachesSink
151+
String[] projectionIn = {taint()}; // $taintReachesSink
152152
String selection = taint(); // $taintReachesSink
153153
String[] selectionArgs = {taint()};
154154
String groupBy = taint(); // $taintReachesSink
@@ -161,7 +161,7 @@ public static void query2(MySQLiteQueryBuilder target) {
161161
public static void query3(MySQLiteQueryBuilder target) {
162162
target = taint(); // $taintReachesSink
163163
SQLiteDatabase db = taint();
164-
String[] projectionIn = {taint()}; // $ MISSING: taintReachesSink
164+
String[] projectionIn = {taint()}; // $taintReachesSink
165165
String selection = taint(); // $taintReachesSink
166166
String[] selectionArgs = {taint()};
167167
String groupBy = taint(); // $taintReachesSink
@@ -214,7 +214,7 @@ public static void queryWithFactory(SQLiteDatabase target) {
214214
SQLiteDatabase.CursorFactory cursorFactory = taint();
215215
boolean distinct = taint();
216216
String table = taint(); // $taintReachesSink
217-
String[] columns = {taint()}; // $ MISSING: taintReachesSink
217+
String[] columns = {taint()}; // $taintReachesSink
218218
String selection = taint(); // $taintReachesSink
219219
String[] selectionArgs = {taint()};
220220
String groupBy = taint(); // $taintReachesSink
@@ -229,7 +229,7 @@ public static void queryWithFactory2(SQLiteDatabase target) {
229229
SQLiteDatabase.CursorFactory cursorFactory = taint();
230230
boolean distinct = taint();
231231
String table = taint(); // $taintReachesSink
232-
String[] columns = {taint()}; // $ MISSING: taintReachesSink
232+
String[] columns = {taint()}; // $taintReachesSink
233233
String selection = taint(); // $taintReachesSink
234234
String[] selectionArgs = {taint()};
235235
String groupBy = taint(); // $taintReachesSink

0 commit comments

Comments
 (0)