@@ -140,7 +140,7 @@ class CopyWithin extends SummarizedCallable {
140
140
input = "Argument[this].WithArrayElement" and
141
141
output = "ReturnValue"
142
142
or
143
- // TODO: workaround for WithArrayElement not being converted to a taint step
143
+ // Explicitly add a taint step since WithArrayElement is not implicitly converted to a taint step
144
144
preservesValue = false and
145
145
input = "Argument[this]" and
146
146
output = "ReturnValue"
@@ -186,7 +186,7 @@ class Filter extends SummarizedCallable {
186
186
output = "ReturnValue"
187
187
)
188
188
or
189
- // TODO: workaround for WithArrayElement not being converted to a taint step
189
+ // Explicitly add a taint step since WithArrayElement is not implicitly converted to a taint step
190
190
preservesValue = false and
191
191
input = "Argument[this]" and
192
192
output = "ReturnValue"
@@ -328,10 +328,7 @@ class From1Arg extends SummarizedCallable {
328
328
output = "ReturnValue[exception]"
329
329
)
330
330
or
331
- // TODO: we currently convert ArrayElement read/store steps to taint steps, but this does not
332
- // work for WithArrayElement because it's just an expectsContent node, and there's no way easy
333
- // to omit the expectsContent restriction in taint tracking.
334
- // Work around this for now.
331
+ // Explicitly add a taint step since WithArrayElement is not implicitly converted to a taint step
335
332
preservesValue = false and
336
333
input = "Argument[0]" and
337
334
output = "ReturnValue"
@@ -561,7 +558,7 @@ class ArrayCoercionPackage extends FunctionalPackageSummary {
561
558
output = "ReturnValue.ArrayElement"
562
559
)
563
560
or
564
- // TODO: workaround for WithArrayElement not being converted to a taint step
561
+ // Explicitly add a taint step since WithArrayElement is not implicitly converted to a taint step
565
562
preservesValue = false and
566
563
input = "Argument[0]" and
567
564
output = "ReturnValue"
0 commit comments