|
| 1 | +/** |
| 2 | + * Provides models for the `javax.json` and `jakarta.json` packages. |
| 3 | + */ |
| 4 | + |
| 5 | +import java |
| 6 | +private import semmle.code.java.dataflow.ExternalFlow |
| 7 | + |
| 8 | +private class FlowSummaries extends SummaryModelCsv { |
| 9 | + override predicate row(string row) { |
| 10 | + row = |
| 11 | + ["javax", "jakarta"] + |
| 12 | + [ |
| 13 | + ".json;Json;false;createArrayBuilder;(JsonArray);;Argument[0];ReturnValue;taint", |
| 14 | + ".json;Json;false;createArrayBuilder;(Collection);;Element of Argument[0];ReturnValue;taint", |
| 15 | + ".json;Json;false;createDiff;;;Argument[0..1];ReturnValue;taint", |
| 16 | + ".json;Json;false;createMergeDiff;;;Argument[0..1];ReturnValue;taint", |
| 17 | + ".json;Json;false;createMergePatch;;;Argument[0];ReturnValue;taint", |
| 18 | + ".json;Json;false;createObjectBuilder;(JsonObject);;Argument[0];ReturnValue;taint", |
| 19 | + ".json;Json;false;createObjectBuilder;(Map);;MapKey of Argument[0];ReturnValue;taint", |
| 20 | + ".json;Json;false;createObjectBuilder;(Map);;MapValue of Argument[0];ReturnValue;taint", |
| 21 | + ".json;Json;false;createPatch;;;Argument[0];ReturnValue;taint", |
| 22 | + ".json;Json;false;createPatchBuilder;;;Argument[0];ReturnValue;taint", |
| 23 | + ".json;Json;false;createPointer;;;Argument[0];ReturnValue;taint", |
| 24 | + ".json;Json;false;createReader;;;Argument[0];ReturnValue;taint", |
| 25 | + ".json;Json;false;createValue;;;Argument[0];ReturnValue;taint", |
| 26 | + ".json;Json;false;createWriter;;;Argument[0];ReturnValue;taint", |
| 27 | + ".json;Json;false;decodePointer;;;Argument[0];ReturnValue;taint", |
| 28 | + ".json;Json;false;encodePointer;;;Argument[0];ReturnValue;taint", |
| 29 | + ".json;JsonArray;false;getBoolean;;;Argument[-1];ReturnValue;taint", |
| 30 | + ".json;JsonArray;false;getBoolean;;;Argument[1];ReturnValue;value", |
| 31 | + ".json;JsonArray;false;getInt;;;Argument[-1];ReturnValue;taint", |
| 32 | + ".json;JsonArray;false;getInt;;;Argument[1];ReturnValue;value", |
| 33 | + ".json;JsonArray;false;getJsonArray;;;Argument[-1];ReturnValue;taint", |
| 34 | + ".json;JsonArray;false;getJsonNumber;;;Argument[-1];ReturnValue;taint", |
| 35 | + ".json;JsonArray;false;getJsonObject;;;Argument[-1];ReturnValue;taint", |
| 36 | + ".json;JsonArray;false;getJsonString;;;Argument[-1];ReturnValue;taint", |
| 37 | + ".json;JsonArray;false;getString;;;Argument[-1];ReturnValue;taint", |
| 38 | + ".json;JsonArray;false;getString;;;Argument[1];ReturnValue;value", |
| 39 | + ".json;JsonArray;false;getValuesAs;;;Argument[-1];ReturnValue;taint", |
| 40 | + ".json;JsonArrayBuilder;false;add;;;Argument[-1];ReturnValue;value", |
| 41 | + ".json;JsonArrayBuilder;false;add;(boolean);;Argument[0];Argument[-1];taint", |
| 42 | + ".json;JsonArrayBuilder;false;add;(double);;Argument[0];Argument[-1];taint", |
| 43 | + ".json;JsonArrayBuilder;false;add;(int);;Argument[0];Argument[-1];taint", |
| 44 | + ".json;JsonArrayBuilder;false;add;(long);;Argument[0];Argument[-1];taint", |
| 45 | + ".json;JsonArrayBuilder;false;add;(JsonArrayBuilder);;Argument[0];Argument[-1];taint", |
| 46 | + ".json;JsonArrayBuilder;false;add;(JsonObjectBuilder);;Argument[0];Argument[-1];taint", |
| 47 | + ".json;JsonArrayBuilder;false;add;(JsonValue);;Argument[0];Argument[-1];taint", |
| 48 | + ".json;JsonArrayBuilder;false;add;(String);;Argument[0];Argument[-1];taint", |
| 49 | + ".json;JsonArrayBuilder;false;add;(BigDecimal);;Argument[0];Argument[-1];taint", |
| 50 | + ".json;JsonArrayBuilder;false;add;(BigInteger);;Argument[0];Argument[-1];taint", |
| 51 | + ".json;JsonArrayBuilder;false;add;(int,boolean);;Argument[1];Argument[-1];taint", |
| 52 | + ".json;JsonArrayBuilder;false;add;(int,double);;Argument[1];Argument[-1];taint", |
| 53 | + ".json;JsonArrayBuilder;false;add;(int,int);;Argument[1];Argument[-1];taint", |
| 54 | + ".json;JsonArrayBuilder;false;add;(int,long);;Argument[1];Argument[-1];taint", |
| 55 | + ".json;JsonArrayBuilder;false;add;(int,JsonArrayBuilder);;Argument[1];Argument[-1];taint", |
| 56 | + ".json;JsonArrayBuilder;false;add;(int,JsonObjectBuilder);;Argument[1];Argument[-1];taint", |
| 57 | + ".json;JsonArrayBuilder;false;add;(int,JsonValue);;Argument[1];Argument[-1];taint", |
| 58 | + ".json;JsonArrayBuilder;false;add;(int,String);;Argument[1];Argument[-1];taint", |
| 59 | + ".json;JsonArrayBuilder;false;add;(int,BigDecimal);;Argument[1];Argument[-1];taint", |
| 60 | + ".json;JsonArrayBuilder;false;add;(int,BigInteger);;Argument[1];Argument[-1];taint", |
| 61 | + ".json;JsonArrayBuilder;false;addAll;;;Argument[0];Argument[-1];taint", |
| 62 | + ".json;JsonArrayBuilder;false;addAll;;;Argument[-1];ReturnValue;value", |
| 63 | + ".json;JsonArrayBuilder;false;addNull;;;Argument[-1];ReturnValue;value", |
| 64 | + ".json;JsonArrayBuilder;false;build;;;Argument[-1];ReturnValue;taint", |
| 65 | + ".json;JsonArrayBuilder;false;remove;;;Argument[-1];ReturnValue;value", |
| 66 | + ".json;JsonArrayBuilder;false;set;;;Argument[1];Argument[-1];taint", |
| 67 | + ".json;JsonArrayBuilder;false;set;;;Argument[-1];ReturnValue;value", |
| 68 | + ".json;JsonArrayBuilder;false;setNull;;;Argument[-1];ReturnValue;value", |
| 69 | + ".json;JsonMergePatch;false;apply;;;Argument[-1];ReturnValue;taint", |
| 70 | + ".json;JsonMergePatch;false;apply;;;Argument[0];ReturnValue;taint", |
| 71 | + ".json;JsonMergePatch;false;toJsonValue;;;Argument[-1];ReturnValue;taint", |
| 72 | + ".json;JsonNumber;false;bigDecimalValue;;;Argument[-1];ReturnValue;taint", |
| 73 | + ".json;JsonNumber;false;bigIntegerValue;;;Argument[-1];ReturnValue;taint", |
| 74 | + ".json;JsonNumber;false;bigIntegerValueExact;;;Argument[-1];ReturnValue;taint", |
| 75 | + ".json;JsonNumber;false;doubleValue;;;Argument[-1];ReturnValue;taint", |
| 76 | + ".json;JsonNumber;false;intValue;;;Argument[-1];ReturnValue;taint", |
| 77 | + ".json;JsonNumber;false;intValueExact;;;Argument[-1];ReturnValue;taint", |
| 78 | + ".json;JsonNumber;false;longValue;;;Argument[-1];ReturnValue;taint", |
| 79 | + ".json;JsonNumber;false;longValueExact;;;Argument[-1];ReturnValue;taint", |
| 80 | + ".json;JsonNumber;false;numberValue;;;Argument[-1];ReturnValue;taint", |
| 81 | + ".json;JsonObject;false;getBoolean;;;Argument[-1];ReturnValue;taint", |
| 82 | + ".json;JsonObject;false;getBoolean;;;Argument[1];ReturnValue;value", |
| 83 | + ".json;JsonObject;false;getInt;;;Argument[-1];ReturnValue;taint", |
| 84 | + ".json;JsonObject;false;getInt;;;Argument[1];ReturnValue;value", |
| 85 | + ".json;JsonObject;false;getJsonArray;;;Argument[-1];ReturnValue;taint", |
| 86 | + ".json;JsonObject;false;getJsonNumber;;;Argument[-1];ReturnValue;taint", |
| 87 | + ".json;JsonObject;false;getJsonObject;;;Argument[-1];ReturnValue;taint", |
| 88 | + ".json;JsonObject;false;getJsonString;;;Argument[-1];ReturnValue;taint", |
| 89 | + ".json;JsonObject;false;getString;;;Argument[-1];ReturnValue;taint", |
| 90 | + ".json;JsonObject;false;getString;;;Argument[1];ReturnValue;value", |
| 91 | + ".json;JsonObjectBuilder;false;add;;;Argument[-1];ReturnValue;value", |
| 92 | + ".json;JsonObjectBuilder;false;add;;;Argument[1];Argument[-1];taint", |
| 93 | + ".json;JsonObjectBuilder;false;addAll;;;Argument[0];ReturnValue;value", |
| 94 | + ".json;JsonObjectBuilder;false;addAll;;;Argument[-1];ReturnValue;value", |
| 95 | + ".json;JsonObjectBuilder;false;addNull;;;Argument[-1];ReturnValue;value", |
| 96 | + ".json;JsonObjectBuilder;false;build;;;Argument[-1];ReturnValue;taint", |
| 97 | + ".json;JsonObjectBuilder;false;remove;;;Argument[-1];ReturnValue;value", |
| 98 | + ".json;JsonPatch;false;apply;;;Argument[-1];ReturnValue;taint", |
| 99 | + ".json;JsonPatch;false;apply;;;Argument[0];ReturnValue;taint", |
| 100 | + ".json;JsonPatch;false;toJsonArray;;;Argument[-1];ReturnValue;taint", |
| 101 | + ".json;JsonPatchBuilder;false;add;;;Argument[0..1];ReturnValue;taint", |
| 102 | + ".json;JsonPatchBuilder;false;add;;;Argument[-1];ReturnValue;value", |
| 103 | + ".json;JsonPatchBuilder;false;build;;;Argument[-1];ReturnValue;taint", |
| 104 | + ".json;JsonPatchBuilder;false;copy;;;Argument[0..1];ReturnValue;taint", |
| 105 | + ".json;JsonPatchBuilder;false;copy;;;Argument[-1];ReturnValue;value", |
| 106 | + ".json;JsonPatchBuilder;false;move;;;Argument[0..1];ReturnValue;taint", |
| 107 | + ".json;JsonPatchBuilder;false;move;;;Argument[-1];ReturnValue;value", |
| 108 | + ".json;JsonPatchBuilder;false;remove;;;Argument[0];ReturnValue;taint", |
| 109 | + ".json;JsonPatchBuilder;false;remove;;;Argument[-1];ReturnValue;value", |
| 110 | + ".json;JsonPatchBuilder;false;replace;;;Argument[0..1];ReturnValue;taint", |
| 111 | + ".json;JsonPatchBuilder;false;replace;;;Argument[-1];ReturnValue;value", |
| 112 | + ".json;JsonPatchBuilder;false;test;;;Argument[0..1];ReturnValue;taint", |
| 113 | + ".json;JsonPatchBuilder;false;test;;;Argument[-1];ReturnValue;value", |
| 114 | + ".json;JsonPointer;false;add;;;Argument[-1];ReturnValue;taint", |
| 115 | + ".json;JsonPointer;false;add;;;Argument[0..1];ReturnValue;taint", |
| 116 | + ".json;JsonPointer;false;getValue;;;Argument[0];ReturnValue;taint", |
| 117 | + ".json;JsonPointer;false;remove;;;Argument[0];ReturnValue;taint", |
| 118 | + ".json;JsonPointer;false;replace;;;Argument[0..1];ReturnValue;taint", |
| 119 | + ".json;JsonPointer;false;toString;;;Argument[-1];ReturnValue;taint", |
| 120 | + ".json;JsonReader;false;read;;;Argument[-1];ReturnValue;taint", |
| 121 | + ".json;JsonReader;false;readArray;;;Argument[-1];ReturnValue;taint", |
| 122 | + ".json;JsonReader;false;readObject;;;Argument[-1];ReturnValue;taint", |
| 123 | + ".json;JsonReader;false;readValue;;;Argument[-1];ReturnValue;taint", |
| 124 | + ".json;JsonReaderFactory;false;createReader;;;Argument[0];ReturnValue;taint", |
| 125 | + ".json;JsonString;false;getChars;;;Argument[-1];ReturnValue;taint", |
| 126 | + ".json;JsonString;false;getString;;;Argument[-1];ReturnValue;taint", |
| 127 | + ".json;JsonStructure;true;getValue;;;Argument[-1];ReturnValue;taint", |
| 128 | + ".json;JsonValue;true;asJsonArray;;;Argument[-1];ReturnValue;taint", |
| 129 | + ".json;JsonValue;true;asJsonObject;;;Argument[-1];ReturnValue;taint", |
| 130 | + ".json;JsonValue;true;toString;;;Argument[-1];ReturnValue;taint", |
| 131 | + ".json;JsonWriter;false;write;;;Argument[0];Argument[-1];taint", |
| 132 | + ".json;JsonWriter;false;writeArray;;;Argument[0];Argument[-1];taint", |
| 133 | + ".json;JsonWriter;false;writeObject;;;Argument[0];Argument[-1];taint", |
| 134 | + ".json;JsonWriterFactory;false;createWriter;;;Argument[-1];Argument[0];taint", |
| 135 | + ".json.stream;JsonParserFactory;false;createParser;;;Argument[0];ReturnValue;taint" |
| 136 | + ] |
| 137 | + } |
| 138 | +} |
0 commit comments