package generatedtest; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.CharArrayReader; import java.io.CharArrayWriter; import java.io.DataInput; import java.io.DataInputStream; import java.io.File; import java.io.FilterInputStream; import java.io.FilterOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.PrintStream; import java.io.PrintWriter; import java.io.Reader; import java.io.StringReader; import java.io.Writer; import java.net.URI; import java.nio.CharBuffer; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; import java.nio.file.Path; // Test case generated by GenerateFlowTestCase.ql public class Test { Object getThrowable_messageDefault(Object container) { return null; } Object source() { return null; } void sink(Object o) {} public void test() throws Exception { { // "java.io;BufferedInputStream;false;BufferedInputStream;;;Argument[0];Argument[this];taint;manual" BufferedInputStream out = null; InputStream in = (InputStream) source(); out = new BufferedInputStream(in); sink(out); // $ hasTaintFlow } { // "java.io;BufferedInputStream;false;BufferedInputStream;;;Argument[0];Argument[this];taint;manual" BufferedInputStream out = null; InputStream in = (InputStream) source(); out = new BufferedInputStream(in, 0); sink(out); // $ hasTaintFlow } { // "java.io;BufferedReader;false;BufferedReader;;;Argument[0];Argument[this];taint;manual" BufferedReader out = null; Reader in = (Reader) source(); out = new BufferedReader(in); sink(out); // $ hasTaintFlow } { // "java.io;BufferedReader;false;BufferedReader;;;Argument[0];Argument[this];taint;manual" BufferedReader out = null; Reader in = (Reader) source(); out = new BufferedReader(in, 0); sink(out); // $ hasTaintFlow } { // "java.io;BufferedReader;true;readLine;;;Argument[this];ReturnValue;taint;manual" String out = null; BufferedReader in = (BufferedReader) source(); out = in.readLine(); sink(out); // $ hasTaintFlow } { // "java.io;ByteArrayInputStream;false;ByteArrayInputStream;;;Argument[0];Argument[this];taint;manual" ByteArrayInputStream out = null; byte[] in = (byte[]) source(); out = new ByteArrayInputStream(in); sink(out); // $ hasTaintFlow } { // "java.io;ByteArrayInputStream;false;ByteArrayInputStream;;;Argument[0];Argument[this];taint;manual" ByteArrayInputStream out = null; byte[] in = (byte[]) source(); out = new ByteArrayInputStream(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;ByteArrayOutputStream;false;toByteArray;;;Argument[this];ReturnValue;taint;manual" byte[] out = null; ByteArrayOutputStream in = (ByteArrayOutputStream) source(); out = in.toByteArray(); sink(out); // $ hasTaintFlow } { // "java.io;ByteArrayOutputStream;false;toString;;;Argument[this];ReturnValue;taint;manual" String out = null; ByteArrayOutputStream in = (ByteArrayOutputStream) source(); out = in.toString((Charset) null); sink(out); // $ hasTaintFlow } { // "java.io;ByteArrayOutputStream;false;toString;;;Argument[this];ReturnValue;taint;manual" String out = null; ByteArrayOutputStream in = (ByteArrayOutputStream) source(); out = in.toString((String) null); sink(out); // $ hasTaintFlow } { // "java.io;ByteArrayOutputStream;false;toString;;;Argument[this];ReturnValue;taint;manual" String out = null; ByteArrayOutputStream in = (ByteArrayOutputStream) source(); out = in.toString(); sink(out); // $ hasTaintFlow } { // "java.io;ByteArrayOutputStream;false;toString;;;Argument[this];ReturnValue;taint;manual" String out = null; ByteArrayOutputStream in = (ByteArrayOutputStream) source(); out = in.toString(0); sink(out); // $ hasTaintFlow } { // "java.io;ByteArrayOutputStream;false;writeTo;;;Argument[this];Argument[0];taint;manual" OutputStream out = null; ByteArrayOutputStream in = (ByteArrayOutputStream) source(); in.writeTo(out); sink(out); // $ hasTaintFlow } { // "java.io;CharArrayReader;false;CharArrayReader;;;Argument[0];Argument[this];taint;manual" CharArrayReader out = null; char[] in = (char[]) source(); out = new CharArrayReader(in); sink(out); // $ hasTaintFlow } { // "java.io;CharArrayReader;false;CharArrayReader;;;Argument[0];Argument[this];taint;manual" CharArrayReader out = null; char[] in = (char[]) source(); out = new CharArrayReader(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;CharArrayWriter;true;toCharArray;;;Argument[this];ReturnValue;taint;manual" char[] out = null; CharArrayWriter in = (CharArrayWriter) source(); out = in.toCharArray(); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readFully;;;Argument[this];Argument[0];taint;manual" byte[] out = null; DataInput in = (DataInput) source(); in.readFully(out); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readFully;;;Argument[this];Argument[0];taint;manual" byte[] out = null; DataInput in = (DataInput) source(); in.readFully(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readFully;;;Argument[this];Argument[0];taint;manual" byte[] out = null; DataInputStream in = (DataInputStream) source(); in.readFully(out); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readFully;;;Argument[this];Argument[0];taint;manual" byte[] out = null; DataInputStream in = (DataInputStream) source(); in.readFully(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readFully;;;Argument[this];Argument[0];taint;manual" byte[] out = null; ObjectInputStream in = (ObjectInputStream) source(); in.readFully(out); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readFully;;;Argument[this];Argument[0];taint;manual" byte[] out = null; ObjectInputStream in = (ObjectInputStream) source(); in.readFully(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readLine;();;Argument[this];ReturnValue;taint;manual" String out = null; DataInput in = (DataInput) source(); out = in.readLine(); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readLine;();;Argument[this];ReturnValue;taint;manual" String out = null; DataInputStream in = (DataInputStream) source(); out = in.readLine(); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readLine;();;Argument[this];ReturnValue;taint;manual" String out = null; ObjectInputStream in = (ObjectInputStream) source(); out = in.readLine(); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readUTF;();;Argument[this];ReturnValue;taint;manual" String out = null; DataInput in = (DataInput) source(); out = in.readUTF(); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readUTF;();;Argument[this];ReturnValue;taint;manual" String out = null; DataInputStream in = (DataInputStream) source(); out = in.readUTF(); sink(out); // $ hasTaintFlow } { // "java.io;DataInput;true;readUTF;();;Argument[this];ReturnValue;taint;manual" String out = null; ObjectInputStream in = (ObjectInputStream) source(); out = in.readUTF(); sink(out); // $ hasTaintFlow } { // "java.io;DataInputStream;false;DataInputStream;;;Argument[0];Argument[this];taint;manual" DataInputStream out = null; InputStream in = (InputStream) source(); out = new DataInputStream(in); sink(out); // $ hasTaintFlow } { // "java.io;File;false;File;;;Argument[0];Argument[this];taint;manual" File out = null; File in = (File) source(); out = new File(in, (String) null); sink(out); // $ hasTaintFlow } { // "java.io;File;false;File;;;Argument[0];Argument[this];taint;manual" File out = null; String in = (String) source(); out = new File(in); sink(out); // $ hasTaintFlow } { // "java.io;File;false;File;;;Argument[0];Argument[this];taint;manual" File out = null; String in = (String) source(); out = new File(in, (String) null); sink(out); // $ hasTaintFlow } { // "java.io;File;false;File;;;Argument[0];Argument[this];taint;manual" File out = null; URI in = (URI) source(); out = new File(in); sink(out); // $ hasTaintFlow } { // "java.io;File;false;File;;;Argument[1];Argument[this];taint;manual" File out = null; String in = (String) source(); out = new File((File) null, in); sink(out); // $ hasTaintFlow } { // "java.io;File;false;File;;;Argument[1];Argument[this];taint;manual" File out = null; String in = (String) source(); out = new File((String) null, in); sink(out); // $ hasTaintFlow } { // "java.io;File;true;getAbsoluteFile;;;Argument[this];ReturnValue;taint;manual" File out = null; File in = (File) source(); out = in.getAbsoluteFile(); sink(out); // $ hasTaintFlow } { // "java.io;File;true;getAbsolutePath;;;Argument[this];ReturnValue;taint;manual" String out = null; File in = (File) source(); out = in.getAbsolutePath(); sink(out); // $ hasTaintFlow } { // "java.io;File;true;getCanonicalFile;;;Argument[this];ReturnValue;taint;manual" File out = null; File in = (File) source(); out = in.getCanonicalFile(); sink(out); // $ hasTaintFlow } { // "java.io;File;true;getCanonicalPath;;;Argument[this];ReturnValue;taint;manual" String out = null; File in = (File) source(); out = in.getCanonicalPath(); sink(out); // $ hasTaintFlow } { // "java.io;File;true;getName;();;Argument[this];ReturnValue;taint;manual" String out = null; File in = (File) source(); out = in.getName(); sink(out); // $ hasTaintFlow } { // "java.io;File;true;toPath;;;Argument[this];ReturnValue;taint;manual" Path out = null; File in = (File) source(); out = in.toPath(); sink(out); // $ hasTaintFlow } { // "java.io;File;true;toString;;;Argument[this];ReturnValue;taint;manual" String out = null; File in = (File) source(); out = in.toString(); sink(out); // $ hasTaintFlow } { // "java.io;File;true;toURI;;;Argument[this];ReturnValue;taint;manual" URI out = null; File in = (File) source(); out = in.toURI(); sink(out); // $ hasTaintFlow } { // "java.io;FilterOutputStream;true;FilterOutputStream;(OutputStream);;Argument[0];Argument[this];taint;manual" FilterOutputStream out = null; OutputStream in = (OutputStream) source(); out = new FilterOutputStream(in); sink(out); // $ hasTaintFlow } { // "java.io;IOException;false;IOException;(String);;Argument[0];Argument[this].SyntheticField[java.lang.Throwable.message];value;manual" IOException out = null; String in = (String) source(); out = new IOException(in); sink(getThrowable_messageDefault(out)); // $ hasValueFlow } { // "java.io;InputStream;true;read;(byte[]);;Argument[this];Argument[0];taint;manual" byte[] out = null; DataInputStream in = (DataInputStream) source(); in.read(out); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;read;(byte[]);;Argument[this];Argument[0];taint;manual" byte[] out = null; FilterInputStream in = (FilterInputStream) source(); in.read(out); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;read;(byte[]);;Argument[this];Argument[0];taint;manual" byte[] out = null; InputStream in = (InputStream) source(); in.read(out); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;read;(byte[],int,int);;Argument[this];Argument[0];taint;manual" byte[] out = null; BufferedInputStream in = (BufferedInputStream) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;read;(byte[],int,int);;Argument[this];Argument[0];taint;manual" byte[] out = null; ByteArrayInputStream in = (ByteArrayInputStream) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;read;(byte[],int,int);;Argument[this];Argument[0];taint;manual" byte[] out = null; DataInputStream in = (DataInputStream) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;read;(byte[],int,int);;Argument[this];Argument[0];taint;manual" byte[] out = null; FilterInputStream in = (FilterInputStream) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;read;(byte[],int,int);;Argument[this];Argument[0];taint;manual" byte[] out = null; InputStream in = (InputStream) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;read;(byte[],int,int);;Argument[this];Argument[0];taint;manual" byte[] out = null; ObjectInputStream in = (ObjectInputStream) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;readAllBytes;;;Argument[this];ReturnValue;taint;manual" byte[] out = null; ByteArrayInputStream in = (ByteArrayInputStream) source(); out = in.readAllBytes(); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;readAllBytes;;;Argument[this];ReturnValue;taint;manual" byte[] out = null; InputStream in = (InputStream) source(); out = in.readAllBytes(); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;readNBytes;(byte[],int,int);;Argument[this];Argument[0];taint;manual" byte[] out = null; ByteArrayInputStream in = (ByteArrayInputStream) source(); in.readNBytes(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;readNBytes;(byte[],int,int);;Argument[this];Argument[0];taint;manual" byte[] out = null; InputStream in = (InputStream) source(); in.readNBytes(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;readNBytes;(int);;Argument[this];ReturnValue;taint;manual" byte[] out = null; InputStream in = (InputStream) source(); out = in.readNBytes(0); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;transferTo;(OutputStream);;Argument[this];Argument[0];taint;manual" OutputStream out = null; ByteArrayInputStream in = (ByteArrayInputStream) source(); in.transferTo(out); sink(out); // $ hasTaintFlow } { // "java.io;InputStream;true;transferTo;(OutputStream);;Argument[this];Argument[0];taint;manual" OutputStream out = null; InputStream in = (InputStream) source(); in.transferTo(out); sink(out); // $ hasTaintFlow } { // "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[this];taint;manual" InputStreamReader out = null; InputStream in = (InputStream) source(); out = new InputStreamReader(in); sink(out); // $ hasTaintFlow } { // "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[this];taint;manual" InputStreamReader out = null; InputStream in = (InputStream) source(); out = new InputStreamReader(in, (Charset) null); sink(out); // $ hasTaintFlow } { // "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[this];taint;manual" InputStreamReader out = null; InputStream in = (InputStream) source(); out = new InputStreamReader(in, (CharsetDecoder) null); sink(out); // $ hasTaintFlow } { // "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[this];taint;manual" InputStreamReader out = null; InputStream in = (InputStream) source(); out = new InputStreamReader(in, (String) null); sink(out); // $ hasTaintFlow } { // "java.io;ObjectInput;true;read;;;Argument[this];Argument[0];taint;manual" byte[] out = null; ObjectInput in = (ObjectInput) source(); in.read(out); sink(out); // $ hasTaintFlow } { // "java.io;ObjectInput;true;read;;;Argument[this];Argument[0];taint;manual" byte[] out = null; ObjectInput in = (ObjectInput) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;ObjectInput;true;read;;;Argument[this];Argument[0];taint;manual" byte[] out = null; ObjectInputStream in = (ObjectInputStream) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;ObjectInputStream;false;ObjectInputStream;;;Argument[0];Argument[this];taint;manual" ObjectInputStream out = null; InputStream in = (InputStream) source(); out = new ObjectInputStream(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[this];taint;manual" FilterOutputStream out = null; byte[] in = (byte[]) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[this];taint;manual" ObjectOutputStream out = null; byte[] in = (byte[]) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[this];taint;manual" OutputStream out = null; byte[] in = (byte[]) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[this];taint;manual" PrintStream out = null; byte[] in = (byte[]) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[this];taint;manual" ByteArrayOutputStream out = null; byte[] in = (byte[]) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[this];taint;manual" FilterOutputStream out = null; byte[] in = (byte[]) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[this];taint;manual" ObjectOutputStream out = null; byte[] in = (byte[]) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[this];taint;manual" OutputStream out = null; byte[] in = (byte[]) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[this];taint;manual" PrintStream out = null; byte[] in = (byte[]) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(int);;Argument[0];Argument[this];taint;manual" ByteArrayOutputStream out = null; int in = (int) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(int);;Argument[0];Argument[this];taint;manual" FilterOutputStream out = null; int in = (int) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(int);;Argument[0];Argument[this];taint;manual" ObjectOutputStream out = null; int in = (int) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(int);;Argument[0];Argument[this];taint;manual" OutputStream out = null; int in = (int) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;OutputStream;true;write;(int);;Argument[0];Argument[this];taint;manual" PrintStream out = null; int in = (int) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" CharBuffer out = null; CharArrayReader in = (CharArrayReader) source(); in.read(out); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" CharBuffer out = null; InputStreamReader in = (InputStreamReader) source(); in.read(out); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" CharBuffer out = null; Reader in = (Reader) source(); in.read(out); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" char[] out = null; BufferedReader in = (BufferedReader) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" char[] out = null; CharArrayReader in = (CharArrayReader) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" char[] out = null; InputStreamReader in = (InputStreamReader) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" char[] out = null; Reader in = (Reader) source(); in.read(out); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" char[] out = null; Reader in = (Reader) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Reader;true;read;;;Argument[this];Argument[0];taint;manual" char[] out = null; StringReader in = (StringReader) source(); in.read(out, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;StringReader;false;StringReader;;;Argument[0];Argument[this];taint;manual" StringReader out = null; String in = (String) source(); out = new StringReader(in); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" CharArrayWriter out = null; String in = (String) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" CharArrayWriter out = null; char[] in = (char[]) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" CharArrayWriter out = null; int in = (int) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" PrintWriter out = null; String in = (String) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" PrintWriter out = null; String in = (String) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" PrintWriter out = null; char[] in = (char[]) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" PrintWriter out = null; char[] in = (char[]) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" PrintWriter out = null; int in = (int) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" Writer out = null; String in = (String) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" Writer out = null; String in = (String) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" Writer out = null; char[] in = (char[]) source(); out.write(in); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" Writer out = null; char[] in = (char[]) source(); out.write(in, 0, 0); sink(out); // $ hasTaintFlow } { // "java.io;Writer;true;write;;;Argument[0];Argument[this];taint;manual" Writer out = null; int in = (int) source(); out.write(in); sink(out); // $ hasTaintFlow } } }