diff --git a/java/ql/test/library-tests/frameworks/apache-ant/Test.java b/java/ql/test/library-tests/frameworks/apache-ant/Test.java new file mode 100644 index 00000000000..13ba98041c5 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/apache-ant/Test.java @@ -0,0 +1,26 @@ +package generatedtest; + +import org.apache.tools.zip.ZipEntry; + +// Test case generated by GenerateFlowTestCase.ql +public class Test { + + Object source() { + return null; + } + + void sink(Object o) {} + + public void test() throws Exception { + + { + // "org.apache.tools.zip;ZipEntry;true;ZipEntry;(String);;Argument[0];Argument[-1];taint;ai-generated" + ZipEntry out = null; + String in = (String) source(); + out = new ZipEntry(in); + sink(out); // $ hasTaintFlow + } + + } + +} diff --git a/java/ql/test/library-tests/frameworks/apache-ant/options b/java/ql/test/library-tests/frameworks/apache-ant/options new file mode 100644 index 00000000000..ded896502ed --- /dev/null +++ b/java/ql/test/library-tests/frameworks/apache-ant/options @@ -0,0 +1 @@ +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/apache-ant-1.10.13 \ No newline at end of file diff --git a/java/ql/test/library-tests/frameworks/apache-ant/test.expected b/java/ql/test/library-tests/frameworks/apache-ant/test.expected new file mode 100644 index 00000000000..e69de29bb2d diff --git a/java/ql/test/library-tests/frameworks/apache-ant/test.ql b/java/ql/test/library-tests/frameworks/apache-ant/test.ql new file mode 100644 index 00000000000..5d91e4e8e26 --- /dev/null +++ b/java/ql/test/library-tests/frameworks/apache-ant/test.ql @@ -0,0 +1,2 @@ +import java +import TestUtilities.InlineFlowTest diff --git a/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/CentralDirectoryParsingZipExtraField.java b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/CentralDirectoryParsingZipExtraField.java new file mode 100644 index 00000000000..6fcf116aa25 --- /dev/null +++ b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/CentralDirectoryParsingZipExtraField.java @@ -0,0 +1,10 @@ +// Generated automatically from org.apache.tools.zip.CentralDirectoryParsingZipExtraField for testing purposes + +package org.apache.tools.zip; + +import org.apache.tools.zip.ZipExtraField; + +public interface CentralDirectoryParsingZipExtraField extends ZipExtraField +{ + void parseFromCentralDirectoryData(byte[] p0, int p1, int p2); +} diff --git a/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/GeneralPurposeBit.java b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/GeneralPurposeBit.java new file mode 100644 index 00000000000..16beb77481d --- /dev/null +++ b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/GeneralPurposeBit.java @@ -0,0 +1,24 @@ +// Generated automatically from org.apache.tools.zip.GeneralPurposeBit for testing purposes + +package org.apache.tools.zip; + + +public class GeneralPurposeBit implements Cloneable +{ + public GeneralPurposeBit(){} + public Object clone(){ return null; } + public boolean equals(Object p0){ return false; } + public boolean usesDataDescriptor(){ return false; } + public boolean usesEncryption(){ return false; } + public boolean usesStrongEncryption(){ return false; } + public boolean usesUTF8ForNames(){ return false; } + public byte[] encode(){ return null; } + public int hashCode(){ return 0; } + public static GeneralPurposeBit parse(byte[] p0, int p1){ return null; } + public static int UFT8_NAMES_FLAG = 0; + public void encode(byte[] p0, int p1){} + public void useDataDescriptor(boolean p0){} + public void useEncryption(boolean p0){} + public void useStrongEncryption(boolean p0){} + public void useUTF8ForNames(boolean p0){} +} diff --git a/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/UnparseableExtraFieldData.java b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/UnparseableExtraFieldData.java new file mode 100644 index 00000000000..df24aad1a79 --- /dev/null +++ b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/UnparseableExtraFieldData.java @@ -0,0 +1,18 @@ +// Generated automatically from org.apache.tools.zip.UnparseableExtraFieldData for testing purposes + +package org.apache.tools.zip; + +import org.apache.tools.zip.CentralDirectoryParsingZipExtraField; +import org.apache.tools.zip.ZipShort; + +public class UnparseableExtraFieldData implements CentralDirectoryParsingZipExtraField +{ + public UnparseableExtraFieldData(){} + public ZipShort getCentralDirectoryLength(){ return null; } + public ZipShort getHeaderId(){ return null; } + public ZipShort getLocalFileDataLength(){ return null; } + public byte[] getCentralDirectoryData(){ return null; } + public byte[] getLocalFileDataData(){ return null; } + public void parseFromCentralDirectoryData(byte[] p0, int p1, int p2){} + public void parseFromLocalFileData(byte[] p0, int p1, int p2){} +} diff --git a/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipEntry.java b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipEntry.java new file mode 100644 index 00000000000..83ab406142d --- /dev/null +++ b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipEntry.java @@ -0,0 +1,152 @@ +// Generated automatically from org.apache.tools.zip.ZipEntry for testing purposes + +package org.apache.tools.zip; + +import java.io.File; +import java.util.Date; +import org.apache.tools.zip.GeneralPurposeBit; +import org.apache.tools.zip.UnparseableExtraFieldData; +import org.apache.tools.zip.ZipExtraField; +import org.apache.tools.zip.ZipShort; + +public class ZipEntry extends java.util.zip.ZipEntry implements Cloneable { + protected ZipEntry() { + super(""); + } + + protected void setExtra() {} + + protected void setName(String p0) {} + + protected void setName(String p0, byte[] p1) {} + + protected void setPlatform(int p0) {} + + public Date getLastModifiedDate() { + return null; + } + + public GeneralPurposeBit getGeneralPurposeBit() { + return null; + } + + public Object clone() { + return null; + } + + public String getName() { + return null; + } + + public UnparseableExtraFieldData getUnparseableExtraFieldData() { + return null; + } + + public ZipEntry(File p0, String p1) { + super(""); + } + + public ZipEntry(String p0) { + super(""); + } + + public ZipEntry(java.util.zip.ZipEntry p0) { + super(""); + } + + public ZipEntry(org.apache.tools.zip.ZipEntry p0) { + super(""); + } + + public ZipExtraField getExtraField(ZipShort p0) { + return null; + } + + public ZipExtraField[] getExtraFields() { + return null; + } + + public ZipExtraField[] getExtraFields(boolean p0) { + return null; + } + + public boolean equals(Object p0) { + return false; + } + + public boolean isDirectory() { + return false; + } + + public byte[] getCentralDirectoryExtra() { + return null; + } + + public byte[] getLocalFileDataExtra() { + return null; + } + + public byte[] getRawName() { + return null; + } + + public int getInternalAttributes() { + return 0; + } + + public int getMethod() { + return 0; + } + + public int getPlatform() { + return 0; + } + + public int getUnixMode() { + return 0; + } + + public int hashCode() { + return 0; + } + + public long getExternalAttributes() { + return 0; + } + + public long getSize() { + return 0; + } + + public static int CRC_UNKNOWN = 0; + public static int PLATFORM_FAT = 0; + public static int PLATFORM_UNIX = 0; + + public void addAsFirstExtraField(ZipExtraField p0) {} + + public void addExtraField(ZipExtraField p0) {} + + public void removeExtraField(ZipShort p0) {} + + public void removeUnparseableExtraFieldData() {} + + public void setCentralDirectoryExtra(byte[] p0) {} + + public void setComprSize(long p0) {} + + public void setExternalAttributes(long p0) {} + + public void setExtra(byte[] p0) {} + + public void setExtraFields(ZipExtraField[] p0) {} + + public void setGeneralPurposeBit(GeneralPurposeBit p0) {} + + public void setInternalAttributes(int p0) {} + + public void setMethod(int p0) {} + + public void setSize(long p0) {} + + public void setUnixMode(int p0) {} +} diff --git a/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipExtraField.java b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipExtraField.java new file mode 100644 index 00000000000..9fbac163529 --- /dev/null +++ b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipExtraField.java @@ -0,0 +1,15 @@ +// Generated automatically from org.apache.tools.zip.ZipExtraField for testing purposes + +package org.apache.tools.zip; + +import org.apache.tools.zip.ZipShort; + +public interface ZipExtraField +{ + ZipShort getCentralDirectoryLength(); + ZipShort getHeaderId(); + ZipShort getLocalFileDataLength(); + byte[] getCentralDirectoryData(); + byte[] getLocalFileDataData(); + void parseFromLocalFileData(byte[] p0, int p1, int p2); +} diff --git a/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipShort.java b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipShort.java new file mode 100644 index 00000000000..7d60df12c47 --- /dev/null +++ b/java/ql/test/stubs/apache-ant-1.10.13/org/apache/tools/zip/ZipShort.java @@ -0,0 +1,22 @@ +// Generated automatically from org.apache.tools.zip.ZipShort for testing purposes + +package org.apache.tools.zip; + + +public class ZipShort implements Cloneable +{ + protected ZipShort() {} + public Object clone(){ return null; } + public String toString(){ return null; } + public ZipShort(byte[] p0){} + public ZipShort(byte[] p0, int p1){} + public ZipShort(int p0){} + public boolean equals(Object p0){ return false; } + public byte[] getBytes(){ return null; } + public int getValue(){ return 0; } + public int hashCode(){ return 0; } + public static byte[] getBytes(int p0){ return null; } + public static int getValue(byte[] p0){ return 0; } + public static int getValue(byte[] p0, int p1){ return 0; } + public static void putShort(int p0, byte[] p1, int p2){} +}