Remove extraneous last column

This commit is contained in:
Benjamin Muskalla
2021-11-09 10:04:10 +01:00
parent ef972159a6
commit 6960a7b97e
4 changed files with 52 additions and 56 deletions

View File

@@ -56,21 +56,17 @@ string asSummaryModel(Callable api, string input, string output, string kind) {
result =
asPartialModel(api) + input + ";" //
+ output + ";" //
+ kind + ";" //
+ kind
}
bindingset[input, kind]
string asSinkModel(Callable api, string input, string kind) {
result =
asPartialModel(api) + input + ";" //
+ kind + ";" //
result = asPartialModel(api) + input + ";" + kind
}
bindingset[output, kind]
string asSourceModel(Callable api, string output, string kind) {
result =
asPartialModel(api) + output + ";" //
+ kind + ";" //
result = asPartialModel(api) + output + ";" + kind
}
/**

View File

@@ -1,4 +1,4 @@
| p;PrivateFlowViaPublicInterface$SPI;true;openStream;();;Argument[-1];create-file; |
| p;Sinks;true;copyFileToDirectory;(Path,Path,CopyOption[]);;Argument[1];create-file; |
| p;Sinks;true;readUrl;(URL,Charset);;Argument[0];open-url; |
| p;Sources;true;readUrl;(URL);;Argument[0];open-url; |
| p;PrivateFlowViaPublicInterface$SPI;true;openStream;();;Argument[-1];create-file |
| p;Sinks;true;copyFileToDirectory;(Path,Path,CopyOption[]);;Argument[1];create-file |
| p;Sinks;true;readUrl;(URL,Charset);;Argument[0];open-url |
| p;Sources;true;readUrl;(URL);;Argument[0];open-url |

View File

@@ -1,3 +1,3 @@
| p;Sources;true;consumeSource;(int,Consumer);;Parameter[1];remote; |
| p;Sources;true;readUrl;(URL);;ReturnValue;remote; |
| p;Sources;true;socketStream;();;ReturnValue;remote; |
| p;Sources;true;consumeSource;(int,Consumer);;Parameter[1];remote |
| p;Sources;true;readUrl;(URL);;ReturnValue;remote |
| p;Sources;true;socketStream;();;ReturnValue;remote |

View File

@@ -1,42 +1,42 @@
| p;Factory;false;create;(String);;Argument[0];ReturnValue;taint; |
| p;Factory;false;create;(String,int);;Argument[0];ReturnValue;taint; |
| p;Factory;false;getValue;();;Argument[-1];ReturnValue;taint; |
| p;FinalClass;false;returnsInput;(String);;Argument[0];ReturnValue;taint; |
| p;FluentAPI;false;returnsThis;(String);;Argument[-1];ReturnValue;value; |
| p;ImmutablePojo;false;ImmutablePojo;(String,int);;Argument[0];Argument[-1];taint; |
| p;ImmutablePojo;false;getValue;();;Argument[-1];ReturnValue;taint; |
| p;ImmutablePojo;false;or;(String);;Argument[-1];ReturnValue;taint; |
| p;ImmutablePojo;false;or;(String);;Argument[0];ReturnValue;taint; |
| p;InnerClasses$CaptureMe;true;yesCm;(String);;Argument[0];ReturnValue;taint; |
| p;InnerClasses;true;yes;(String);;Argument[0];ReturnValue;taint; |
| p;Joiner;false;Joiner;(CharSequence);;Argument[0];Argument[-1];taint; |
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[0];Argument[-1];taint; |
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[1];Argument[-1];taint; |
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[2];Argument[-1];taint; |
| p;Joiner;false;add;(CharSequence);;Argument[-1];ReturnValue;value; |
| p;Joiner;false;merge;(Joiner);;Argument[-1];ReturnValue;value; |
| p;Joiner;false;setEmptyValue;(CharSequence);;Argument[-1];ReturnValue;value; |
| p;Joiner;false;setEmptyValue;(CharSequence);;Argument[0];Argument[-1];taint; |
| p;Joiner;false;toString;();;Argument[-1];ReturnValue;taint; |
| p;MultipleImpls$Strat2;true;getValue;();;Argument[-1];ReturnValue;taint; |
| p;MultipleImpls$Strategy;true;doSomething;(String);;Argument[0];Argument[-1];taint; |
| p;MultipleImpls$Strategy;true;doSomething;(String);;Argument[0];ReturnValue;taint; |
| p;ParamFlow;true;addTo;(String,List);;Argument[0];Element of Argument[1];taint; |
| p;ParamFlow;true;returnArrayElement;(String[]);;ArrayElement of Argument[0];ReturnValue;taint; |
| p;ParamFlow;true;returnCollectionElement;(List);;Element of Argument[0];ReturnValue;taint; |
| p;ParamFlow;true;returnIterableElement;(Iterable);;Element of Argument[0];ReturnValue;taint; |
| p;ParamFlow;true;returnIteratorElement;(Iterator);;Element of Argument[0];ReturnValue;taint; |
| p;ParamFlow;true;returnMultipleParameters;(String,String);;Argument[0];ReturnValue;taint; |
| p;ParamFlow;true;returnMultipleParameters;(String,String);;Argument[1];ReturnValue;taint; |
| p;ParamFlow;true;returnVarArgElement;(String[]);;ArrayElement of Argument[0];ReturnValue;taint; |
| p;ParamFlow;true;returnsInput;(String);;Argument[0];ReturnValue;taint; |
| p;ParamFlow;true;writeChunked;(byte[],OutputStream);;Argument[0];Argument[1];taint; |
| p;ParamFlow;true;writeChunked;(char[],OutputStream);;Argument[0];Argument[1];taint; |
| p;Pojo;false;fillIn;(List);;Argument[-1];Element of Argument[0];taint; |
| p;Pojo;false;getBoxedBytes;();;Argument[-1];ReturnValue;taint; |
| p;Pojo;false;getBoxedChars;();;Argument[-1];ReturnValue;taint; |
| p;Pojo;false;getByteArray;();;Argument[-1];ReturnValue;taint; |
| p;Pojo;false;getCharArray;();;Argument[-1];ReturnValue;taint; |
| p;Pojo;false;getValue;();;Argument[-1];ReturnValue;taint; |
| p;Pojo;false;setValue;(String);;Argument[0];Argument[-1];taint; |
| p;PrivateFlowViaPublicInterface;true;createAnSPI;(File);;Argument[0];ReturnValue;taint; |
| p;Factory;false;create;(String);;Argument[0];ReturnValue;taint |
| p;Factory;false;create;(String,int);;Argument[0];ReturnValue;taint |
| p;Factory;false;getValue;();;Argument[-1];ReturnValue;taint |
| p;FinalClass;false;returnsInput;(String);;Argument[0];ReturnValue;taint |
| p;FluentAPI;false;returnsThis;(String);;Argument[-1];ReturnValue;value |
| p;ImmutablePojo;false;ImmutablePojo;(String,int);;Argument[0];Argument[-1];taint |
| p;ImmutablePojo;false;getValue;();;Argument[-1];ReturnValue;taint |
| p;ImmutablePojo;false;or;(String);;Argument[-1];ReturnValue;taint |
| p;ImmutablePojo;false;or;(String);;Argument[0];ReturnValue;taint |
| p;InnerClasses$CaptureMe;true;yesCm;(String);;Argument[0];ReturnValue;taint |
| p;InnerClasses;true;yes;(String);;Argument[0];ReturnValue;taint |
| p;Joiner;false;Joiner;(CharSequence);;Argument[0];Argument[-1];taint |
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[0];Argument[-1];taint |
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[1];Argument[-1];taint |
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[2];Argument[-1];taint |
| p;Joiner;false;add;(CharSequence);;Argument[-1];ReturnValue;value |
| p;Joiner;false;merge;(Joiner);;Argument[-1];ReturnValue;value |
| p;Joiner;false;setEmptyValue;(CharSequence);;Argument[-1];ReturnValue;value |
| p;Joiner;false;setEmptyValue;(CharSequence);;Argument[0];Argument[-1];taint |
| p;Joiner;false;toString;();;Argument[-1];ReturnValue;taint |
| p;MultipleImpls$Strat2;true;getValue;();;Argument[-1];ReturnValue;taint |
| p;MultipleImpls$Strategy;true;doSomething;(String);;Argument[0];Argument[-1];taint |
| p;MultipleImpls$Strategy;true;doSomething;(String);;Argument[0];ReturnValue;taint |
| p;ParamFlow;true;addTo;(String,List);;Argument[0];Element of Argument[1];taint |
| p;ParamFlow;true;returnArrayElement;(String[]);;ArrayElement of Argument[0];ReturnValue;taint |
| p;ParamFlow;true;returnCollectionElement;(List);;Element of Argument[0];ReturnValue;taint |
| p;ParamFlow;true;returnIterableElement;(Iterable);;Element of Argument[0];ReturnValue;taint |
| p;ParamFlow;true;returnIteratorElement;(Iterator);;Element of Argument[0];ReturnValue;taint |
| p;ParamFlow;true;returnMultipleParameters;(String,String);;Argument[0];ReturnValue;taint |
| p;ParamFlow;true;returnMultipleParameters;(String,String);;Argument[1];ReturnValue;taint |
| p;ParamFlow;true;returnVarArgElement;(String[]);;ArrayElement of Argument[0];ReturnValue;taint |
| p;ParamFlow;true;returnsInput;(String);;Argument[0];ReturnValue;taint |
| p;ParamFlow;true;writeChunked;(byte[],OutputStream);;Argument[0];Argument[1];taint |
| p;ParamFlow;true;writeChunked;(char[],OutputStream);;Argument[0];Argument[1];taint |
| p;Pojo;false;fillIn;(List);;Argument[-1];Element of Argument[0];taint |
| p;Pojo;false;getBoxedBytes;();;Argument[-1];ReturnValue;taint |
| p;Pojo;false;getBoxedChars;();;Argument[-1];ReturnValue;taint |
| p;Pojo;false;getByteArray;();;Argument[-1];ReturnValue;taint |
| p;Pojo;false;getCharArray;();;Argument[-1];ReturnValue;taint |
| p;Pojo;false;getValue;();;Argument[-1];ReturnValue;taint |
| p;Pojo;false;setValue;(String);;Argument[0];Argument[-1];taint |
| p;PrivateFlowViaPublicInterface;true;createAnSPI;(File);;Argument[0];ReturnValue;taint |