Skip to content

Commit 0f08605

Browse files
author
Benjamin Muskalla
authored
Merge pull request #7100 from bmuskalla/bmuskalla/ioAsFile
Java: Extract Commons IO into seperate file
2 parents 4da1dce + f9fa22c commit 0f08605

File tree

2 files changed

+35
-22
lines changed

2 files changed

+35
-22
lines changed

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

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ private module Frameworks {
8383
private import semmle.code.java.frameworks.android.XssSinks
8484
private import semmle.code.java.frameworks.ApacheHttp
8585
private import semmle.code.java.frameworks.apache.Collections
86+
private import semmle.code.java.frameworks.apache.IO
8687
private import semmle.code.java.frameworks.apache.Lang
8788
private import semmle.code.java.frameworks.Flexjson
8889
private import semmle.code.java.frameworks.guava.Guava
@@ -322,33 +323,11 @@ private predicate summaryModelCsv(string row) {
322323
"org.apache.commons.codec;BinaryDecoder;true;decode;(byte[]);;Argument[0];ReturnValue;taint",
323324
"org.apache.commons.codec;StringEncoder;true;encode;(String);;Argument[0];ReturnValue;taint",
324325
"org.apache.commons.codec;StringDecoder;true;decode;(String);;Argument[0];ReturnValue;taint",
325-
"org.apache.commons.io;IOUtils;false;buffer;;;Argument[0];ReturnValue;taint",
326-
"org.apache.commons.io;IOUtils;false;readLines;;;Argument[0];ReturnValue;taint",
327-
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,int);;Argument[0];ReturnValue;taint",
328-
"org.apache.commons.io;IOUtils;false;toBufferedInputStream;;;Argument[0];ReturnValue;taint",
329-
"org.apache.commons.io;IOUtils;false;toBufferedReader;;;Argument[0];ReturnValue;taint",
330-
"org.apache.commons.io;IOUtils;false;toByteArray;;;Argument[0];ReturnValue;taint",
331-
"org.apache.commons.io;IOUtils;false;toCharArray;;;Argument[0];ReturnValue;taint",
332-
"org.apache.commons.io;IOUtils;false;toInputStream;;;Argument[0];ReturnValue;taint",
333-
"org.apache.commons.io;IOUtils;false;toString;;;Argument[0];ReturnValue;taint",
334326
"java.net;URLDecoder;false;decode;;;Argument[0];ReturnValue;taint",
335327
"java.net;URI;false;create;;;Argument[0];ReturnValue;taint",
336328
"javax.xml.transform.sax;SAXSource;false;sourceToInputSource;;;Argument[0];ReturnValue;taint",
337329
// arg to arg
338330
"java.lang;System;false;arraycopy;;;Argument[0];Argument[2];taint",
339-
"org.apache.commons.io;IOUtils;false;copy;;;Argument[0];Argument[1];taint",
340-
"org.apache.commons.io;IOUtils;false;copyLarge;;;Argument[0];Argument[1];taint",
341-
"org.apache.commons.io;IOUtils;false;read;;;Argument[0];Argument[1];taint",
342-
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,byte[]);;Argument[0];Argument[1];taint",
343-
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint",
344-
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,ByteBuffer);;Argument[0];Argument[1];taint",
345-
"org.apache.commons.io;IOUtils;false;readFully;(ReadableByteChannel,ByteBuffer);;Argument[0];Argument[1];taint",
346-
"org.apache.commons.io;IOUtils;false;readFully;(Reader,char[]);;Argument[0];Argument[1];taint",
347-
"org.apache.commons.io;IOUtils;false;readFully;(Reader,char[],int,int);;Argument[0];Argument[1];taint",
348-
"org.apache.commons.io;IOUtils;false;write;;;Argument[0];Argument[1];taint",
349-
"org.apache.commons.io;IOUtils;false;writeChunked;;;Argument[0];Argument[1];taint",
350-
"org.apache.commons.io;IOUtils;false;writeLines;;;Argument[0];Argument[2];taint",
351-
"org.apache.commons.io;IOUtils;false;writeLines;;;Argument[1];Argument[2];taint",
352331
// constructor flow
353332
"java.io;File;false;File;;;Argument[0];Argument[-1];taint",
354333
"java.io;File;false;File;;;Argument[1];Argument[-1];taint",
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/** Definitions related to the Apache Commons IO library. */
2+
3+
import java
4+
private import semmle.code.java.dataflow.ExternalFlow
5+
6+
private class CommonsIOSummaryCsv extends SummaryModelCsv {
7+
override predicate row(string row) {
8+
row =
9+
[
10+
"org.apache.commons.io;IOUtils;false;buffer;;;Argument[0];ReturnValue;taint",
11+
"org.apache.commons.io;IOUtils;false;copy;;;Argument[0];Argument[1];taint",
12+
"org.apache.commons.io;IOUtils;false;copyLarge;;;Argument[0];Argument[1];taint",
13+
"org.apache.commons.io;IOUtils;false;read;;;Argument[0];Argument[1];taint",
14+
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint",
15+
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,byte[]);;Argument[0];Argument[1];taint",
16+
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,ByteBuffer);;Argument[0];Argument[1];taint",
17+
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,int);;Argument[0];ReturnValue;taint",
18+
"org.apache.commons.io;IOUtils;false;readFully;(ReadableByteChannel,ByteBuffer);;Argument[0];Argument[1];taint",
19+
"org.apache.commons.io;IOUtils;false;readFully;(Reader,char[],int,int);;Argument[0];Argument[1];taint",
20+
"org.apache.commons.io;IOUtils;false;readFully;(Reader,char[]);;Argument[0];Argument[1];taint",
21+
"org.apache.commons.io;IOUtils;false;readLines;;;Argument[0];ReturnValue;taint",
22+
"org.apache.commons.io;IOUtils;false;toBufferedInputStream;;;Argument[0];ReturnValue;taint",
23+
"org.apache.commons.io;IOUtils;false;toBufferedReader;;;Argument[0];ReturnValue;taint",
24+
"org.apache.commons.io;IOUtils;false;toByteArray;;;Argument[0];ReturnValue;taint",
25+
"org.apache.commons.io;IOUtils;false;toCharArray;;;Argument[0];ReturnValue;taint",
26+
"org.apache.commons.io;IOUtils;false;toInputStream;;;Argument[0];ReturnValue;taint",
27+
"org.apache.commons.io;IOUtils;false;toString;;;Argument[0];ReturnValue;taint",
28+
"org.apache.commons.io;IOUtils;false;write;;;Argument[0];Argument[1];taint",
29+
"org.apache.commons.io;IOUtils;false;writeChunked;;;Argument[0];Argument[1];taint",
30+
"org.apache.commons.io;IOUtils;false;writeLines;;;Argument[0];Argument[2];taint",
31+
"org.apache.commons.io;IOUtils;false;writeLines;;;Argument[1];Argument[2];taint"
32+
]
33+
}
34+
}

0 commit comments

Comments
 (0)