Skip to content

Commit d67de88

Browse files
Model Guava IO package
1 parent a55246c commit d67de88

File tree

1 file changed

+55
-0
lines changed
  • java/ql/src/semmle/code/java/frameworks/guava

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/** Definitions of taint steps in the IO packae of the Guava framework */
2+
3+
import java
4+
private import semmle.code.java.dataflow.DataFlow
5+
private import semmle.code.java.dataflow.ExternalFlow
6+
7+
private class GuavaIoCsv extends SummaryModelCsv {
8+
override predicate row(string row) {
9+
row =
10+
[
11+
//"package;type;overrides;name;signature;ext;inputspec;outputspec;kind",
12+
"com.google.common.io;BaseEncoding;true;decode;(CharSequence);;Argument[0];ReturnValue;taint",
13+
"com.google.common.io;BaseEncoding;true;decodingStream;(Reader);;Argument[0];ReturnValue;taint",
14+
"com.google.common.io;BaseEncoding;true;decodingSource;(CharSource);;Argument[0];ReturnValue;taint",
15+
"com.google.common.io;BaseEncoding;true;encode;(byte[]);;Argument[0];ReturnValue;taint",
16+
"com.google.common.io;BaseEncoding;true;encode;(byte[],int,int);;Argument[0];ReturnValue;taint",
17+
"com.google.common.io;ByteSource;true;asCharSource;(Charset);;Argument[0];ReturnValue;taint",
18+
"com.google.common.io;ByteSource;true;concat;;;Argument[0];ReturnValue;taint",
19+
"com.google.common.io;ByteSource;true;openStream;();;Argument[-1];ReturnValue;taint",
20+
"com.google.common.io;ByteSource;true;openBufferedStream;();;Argument[-1];ReturnValue;taint",
21+
"com.google.common.io;ByteSource;true;read;();;Argument[-1];ReturnValue;taint",
22+
"com.google.common.io;ByteSource;true;slice;(long,long);;Argument[-1];ReturnValue;taint",
23+
"com.google.common.io;ByteSource;true;wrap;(byte[]);;Argument[0];ReturnValue;taint",
24+
"com.google.common.io;ByteStreams;false;copy;(InputStream,OutputStream);;Argument[0];Argument[1];taint",
25+
"com.google.common.io;ByteStreams;false;limit;(InputStream,long);;Argument[0];ReturnValue;taint",
26+
"com.google.common.io;ByteStreams;false;newDataInput;(byte[]);;Argument[0];ReturnValue;taint",
27+
"com.google.common.io;ByteStreams;false;newDataInput;(byte[],int);;Argument[0];ReturnValue;taint",
28+
"com.google.common.io;ByteStreams;false;newDataInput;(ByteArrayInputStream);;Argument[0];ReturnValue;taint",
29+
"com.google.common.io;ByteStreams;false;read;(InputStream,byte[],int,int);;Argument[0];Argument[-1];taint",
30+
"com.google.common.io;ByteStreams;false;readFully;(InputStream,byte[]);;Argument[0];Argument[1];taint",
31+
"com.google.common.io;ByteStreams;false;readFully;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint",
32+
"com.google.common.io;ByteStreams;false;toByteArray;(InputStream);;Argument[0];ReturnValue;taint",
33+
"com.google.common.io;CharSource;true;asByteSource;(Charset);;Argument[0];ReturnValue;taint",
34+
"com.google.common.io;CharSource;true;concat;;;Argument[0];ReturnValue;taint",
35+
"com.google.common.io;CharSource;true;copyTo;(Appendable);;Argument[-1];Argument[0];taint",
36+
"com.google.common.io;CharSource;true;openStream;();;Argument[-1];ReturnValue;taint",
37+
"com.google.common.io;CharSource;true;openBufferedStream;();;Argument[-1];ReturnValue;taint",
38+
"com.google.common.io;CharSource;true;read;();;Argument[-1];ReturnValue;taint",
39+
"com.google.common.io;CharSource;true;readFirstLine;();;Argument[-1];ReturnValue;taint",
40+
"com.google.common.io;CharSource;true;readLines;();;Argument[-1];ReturnValue;taint",
41+
"com.google.common.io;CharSource;true;wrap;(CharSequence);;Argument[0];ReturnValue;taint",
42+
"com.google.common.io;CharStreams;false;copy;(Readable,Appendable);;Argument[0];Argument[1];taint",
43+
"com.google.common.io;CharStreams;false;readLines;(Readable);;Argument[0];Argument[-1];taint",
44+
"com.google.common.io;CharStreams;false;toString;(Readable);;Argument[0];ReturnValue;taint",
45+
"com.google.common.io;Closer;true;register;;;Argument[0];ReturnValue;value",
46+
"com.google.common.io;Files;false;getFileExtension;(String);;Argument[0];ReturnValue;taint",
47+
"com.google.common.io;Files;false;getNameWithoutExtension;(String);;Argument[0];ReturnValue;taint",
48+
"com.google.common.io;Files;false;simplifyPath;(String);;Argument[0];ReturnValue;taint",
49+
"com.google.common.io;MoreFiles;false;getFileExtension;(Path);;Argument[0];ReturnValue;taint",
50+
"com.google.common.io;MoreFiles;false;getNameWithoutExtension;(Path);;Argument[0];ReturnValue;taint",
51+
"com.google.common.io;LineReader;false;LineReader;(Reader);;Argument[0];ReturnValue;taint",
52+
"com.google.common.io;LineReader;false;readLine;();;Argument[-1];ReturnValue;taint"
53+
]
54+
}
55+
}

0 commit comments

Comments
 (0)