Skip to content

Commit 4df0f39

Browse files
committed
Move ContentProvider models to the appropriate file
1 parent c6dd7dd commit 4df0f39

File tree

3 files changed

+38
-38
lines changed

3 files changed

+38
-38
lines changed

java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,12 @@ private import FlowSummary
7878
private module Frameworks {
7979
private import internal.ContainerFlow
8080
private import semmle.code.java.frameworks.android.Android
81+
private import semmle.code.java.frameworks.android.ContentProviders
8182
private import semmle.code.java.frameworks.android.Intent
8283
private import semmle.code.java.frameworks.android.Notifications
8384
private import semmle.code.java.frameworks.android.Slice
8485
private import semmle.code.java.frameworks.android.SQLite
86+
private import semmle.code.java.frameworks.android.Widget
8587
private import semmle.code.java.frameworks.android.XssSinks
8688
private import semmle.code.java.frameworks.ApacheHttp
8789
private import semmle.code.java.frameworks.apache.Collections
@@ -132,8 +134,6 @@ private module Frameworks {
132134
private import semmle.code.java.frameworks.Hibernate
133135
private import semmle.code.java.frameworks.jOOQ
134136
private import semmle.code.java.frameworks.spring.SpringHttp
135-
private import semmle.code.java.frameworks.android.ContentProviders
136-
private import semmle.code.java.frameworks.android.Widget
137137
}
138138

139139
private predicate sourceModelCsv(string row) {

java/ql/lib/semmle/code/java/frameworks/android/Android.qll

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -177,42 +177,6 @@ private class UriModel extends SummaryModelCsv {
177177
}
178178
}
179179

180-
private class ContentProviderSourceModels extends SourceModelCsv {
181-
override predicate row(string row) {
182-
row =
183-
[
184-
// ContentInterface models are here for backwards compatibility (it was removed in API 28)
185-
"android.content;ContentInterface;true;call;(String,String,String,Bundle);;Parameter[0..3];contentprovider",
186-
"android.content;ContentProvider;true;call;(String,String,String,Bundle);;Parameter[0..3];contentprovider",
187-
"android.content;ContentProvider;true;call;(String,String,Bundle);;Parameter[0..2];contentprovider",
188-
"android.content;ContentProvider;true;delete;(Uri,String,String[]);;Parameter[0..2];contentprovider",
189-
"android.content;ContentInterface;true;delete;(Uri,Bundle);;Parameter[0..1];contentprovider",
190-
"android.content;ContentProvider;true;delete;(Uri,Bundle);;Parameter[0..1];contentprovider",
191-
"android.content;ContentInterface;true;getType;(Uri);;Parameter[0];contentprovider",
192-
"android.content;ContentProvider;true;getType;(Uri);;Parameter[0];contentprovider",
193-
"android.content;ContentInterface;true;insert;(Uri,ContentValues,Bundle);;Parameter[0];contentprovider",
194-
"android.content;ContentProvider;true;insert;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider",
195-
"android.content;ContentProvider;true;insert;(Uri,ContentValues);;Parameter[0..1];contentprovider",
196-
"android.content;ContentInterface;true;openAssetFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider",
197-
"android.content;ContentProvider;true;openAssetFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider",
198-
"android.content;ContentProvider;true;openAssetFile;(Uri,String);;Parameter[0];contentprovider",
199-
"android.content;ContentInterface;true;openTypedAssetFile;(Uri,String,Bundle,CancellationSignal);;Parameter[0..2];contentprovider",
200-
"android.content;ContentProvider;true;openTypedAssetFile;(Uri,String,Bundle,CancellationSignal);;Parameter[0..2];contentprovider",
201-
"android.content;ContentProvider;true;openTypedAssetFile;(Uri,String,Bundle);;Parameter[0..2];contentprovider",
202-
"android.content;ContentInterface;true;openFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider",
203-
"android.content;ContentProvider;true;openFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider",
204-
"android.content;ContentProvider;true;openFile;(Uri,String);;Parameter[0];contentprovider",
205-
"android.content;ContentInterface;true;query;(Uri,String[],Bundle,CancellationSignal);;Parameter[0..2];contentprovider",
206-
"android.content;ContentProvider;true;query;(Uri,String[],Bundle,CancellationSignal);;Parameter[0..2];contentprovider",
207-
"android.content;ContentProvider;true;query;(Uri,String[],String,String[],String);;Parameter[0..4];contentprovider",
208-
"android.content;ContentProvider;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Parameter[0..4];contentprovider",
209-
"android.content;ContentInterface;true;update;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider",
210-
"android.content;ContentProvider;true;update;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider",
211-
"android.content;ContentProvider;true;update;(Uri,ContentValues,String,String[]);;Parameter[0..3];contentprovider"
212-
]
213-
}
214-
}
215-
216180
/** Interface for classes whose instances can be written to and restored from a Parcel. */
217181
class TypeParcelable extends Interface {
218182
TypeParcelable() { this.hasQualifiedName("android.os", "Parcelable") }

java/ql/lib/semmle/code/java/frameworks/android/ContentProviders.qll

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,42 @@ class ContentValues extends Class {
1010
ContentValues() { this.hasQualifiedName("android.content", "ContentValues") }
1111
}
1212

13+
private class ContentProviderSourceModels extends SourceModelCsv {
14+
override predicate row(string row) {
15+
row =
16+
[
17+
// ContentInterface models are here for backwards compatibility (it was removed in API 28)
18+
"android.content;ContentInterface;true;call;(String,String,String,Bundle);;Parameter[0..3];contentprovider",
19+
"android.content;ContentProvider;true;call;(String,String,String,Bundle);;Parameter[0..3];contentprovider",
20+
"android.content;ContentProvider;true;call;(String,String,Bundle);;Parameter[0..2];contentprovider",
21+
"android.content;ContentProvider;true;delete;(Uri,String,String[]);;Parameter[0..2];contentprovider",
22+
"android.content;ContentInterface;true;delete;(Uri,Bundle);;Parameter[0..1];contentprovider",
23+
"android.content;ContentProvider;true;delete;(Uri,Bundle);;Parameter[0..1];contentprovider",
24+
"android.content;ContentInterface;true;getType;(Uri);;Parameter[0];contentprovider",
25+
"android.content;ContentProvider;true;getType;(Uri);;Parameter[0];contentprovider",
26+
"android.content;ContentInterface;true;insert;(Uri,ContentValues,Bundle);;Parameter[0];contentprovider",
27+
"android.content;ContentProvider;true;insert;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider",
28+
"android.content;ContentProvider;true;insert;(Uri,ContentValues);;Parameter[0..1];contentprovider",
29+
"android.content;ContentInterface;true;openAssetFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider",
30+
"android.content;ContentProvider;true;openAssetFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider",
31+
"android.content;ContentProvider;true;openAssetFile;(Uri,String);;Parameter[0];contentprovider",
32+
"android.content;ContentInterface;true;openTypedAssetFile;(Uri,String,Bundle,CancellationSignal);;Parameter[0..2];contentprovider",
33+
"android.content;ContentProvider;true;openTypedAssetFile;(Uri,String,Bundle,CancellationSignal);;Parameter[0..2];contentprovider",
34+
"android.content;ContentProvider;true;openTypedAssetFile;(Uri,String,Bundle);;Parameter[0..2];contentprovider",
35+
"android.content;ContentInterface;true;openFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider",
36+
"android.content;ContentProvider;true;openFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider",
37+
"android.content;ContentProvider;true;openFile;(Uri,String);;Parameter[0];contentprovider",
38+
"android.content;ContentInterface;true;query;(Uri,String[],Bundle,CancellationSignal);;Parameter[0..2];contentprovider",
39+
"android.content;ContentProvider;true;query;(Uri,String[],Bundle,CancellationSignal);;Parameter[0..2];contentprovider",
40+
"android.content;ContentProvider;true;query;(Uri,String[],String,String[],String);;Parameter[0..4];contentprovider",
41+
"android.content;ContentProvider;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Parameter[0..4];contentprovider",
42+
"android.content;ContentInterface;true;update;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider",
43+
"android.content;ContentProvider;true;update;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider",
44+
"android.content;ContentProvider;true;update;(Uri,ContentValues,String,String[]);;Parameter[0..3];contentprovider"
45+
]
46+
}
47+
}
48+
1349
private class SummaryModels extends SummaryModelCsv {
1450
override predicate row(string row) {
1551
row =

0 commit comments

Comments
 (0)