@@ -141,29 +141,34 @@ private predicate taintPreservingQualifierToMethod(Method m) {
141
141
"removeFirst" , "removeLast" ] )
142
142
or
143
143
// java.util.concurrent.BlockingQueue
144
+ // covered by Queue: poll(long, TimeUnit)
144
145
m .( CollectionMethod ) .hasName ( "take" )
145
146
or
146
147
// java.util.concurrent.BlockingDeque
148
+ // covered by Deque: pollFirst(long, TimeUnit), pollLast(long, TimeUnit)
147
149
m .( CollectionMethod ) .hasName ( [ "takeFirst" , "takeLast" ] )
148
150
or
149
151
// java.util.SortedSet
150
152
m .( CollectionMethod ) .hasName ( [ "first" , "headSet" , "last" , "subSet" , "tailSet" ] )
151
153
or
152
154
// java.util.NavigableSet
155
+ // covered by Deque: pollFirst(), pollLast()
156
+ // covered by SortedSet: headSet(E, boolean), subSet(E, boolean, E, boolean) and tailSet(E, boolean)
153
157
m
154
158
.( CollectionMethod )
155
159
.hasName ( [ "ceiling" , "descendingIterator" , "descendingSet" , "floor" , "higher" , "lower" ] )
156
160
or
157
- //java.util.SortedMap
161
+ // java.util.SortedMap
158
162
m .( MapMethod ) .hasName ( [ "headMap" , "subMap" , "tailMap" ] )
159
163
or
160
- //java.util.NavigableMap
164
+ // java.util.NavigableMap
165
+ // covered by SortedMap: headMap(K, boolean), subMap(K, boolean, K, boolean), tailMap(K, boolean)
161
166
m
162
167
.( MapMethod )
163
168
.hasName ( [ "ceilingEntry" , "descendingMap" , "firstEntry" , "floorEntry" , "higherEntry" ,
164
169
"lastEntry" , "lowerEntry" , "pollFirstEntry" , "pollLastEntry" ] )
165
170
or
166
- //java.util.Dictionary
171
+ // java.util.Dictionary
167
172
m
168
173
.getDeclaringType ( )
169
174
.getSourceDeclaration ( )
@@ -222,6 +227,7 @@ private predicate taintPreservingArgumentToQualifier(Method method, int arg) {
222
227
arg = method .getNumberOfParameters ( ) - 1
223
228
or
224
229
// java.util.List
230
+ // covered by Collection: add(int, E), addAll(int, Collection<? extends E>)
225
231
method .( CollectionMethod ) .hasName ( "set" ) and arg = 1
226
232
or
227
233
// java.util.Vector
@@ -234,15 +240,18 @@ private predicate taintPreservingArgumentToQualifier(Method method, int arg) {
234
240
method .( CollectionMethod ) .hasName ( "offer" ) and arg = 0
235
241
or
236
242
// java.util.Deque
243
+ // covered by Stack: push(E)
237
244
method .( CollectionMethod ) .hasName ( [ "addFirst" , "addLast" , "offerFirst" , "offerLast" ] ) and arg = 0
238
245
or
239
246
// java.util.concurrent.BlockingQueue
247
+ // covered by Queue: offer(E, long, TimeUnit)
240
248
method .( CollectionMethod ) .hasName ( "put" ) and arg = 0
241
249
or
242
250
// java.util.concurrent.TransferQueue
243
251
method .( CollectionMethod ) .hasName ( [ "transfer" , "tryTransfer" ] ) and arg = 0
244
252
or
245
253
// java.util.concurrent.BlockingDeque
254
+ // covered by Deque: offerFirst(E, long, TimeUnit), offerLast(E, long, TimeUnit)
246
255
method .( CollectionMethod ) .hasName ( [ "putFirst" , "putLast" ] ) and arg = 0
247
256
or
248
257
//java.util.Dictionary
0 commit comments