Make sure that InputStreamWrapperCapturedLocalStep is indeed local

This commit is contained in:
Tony Torralba
2023-07-21 14:15:16 +02:00
parent d3b3af8ae6
commit 4e7438ac5c

View File

@@ -39,6 +39,7 @@ private class InputStreamWrapperCapturedJumpStep extends AdditionalTaintStep {
*/
private class InputStreamWrapperCapturedLocalStep extends AdditionalTaintStep {
override predicate step(DataFlow::Node n1, DataFlow::Node n2) {
n1.getEnclosingCallable() = n2.getEnclosingCallable() and
exists(InputStreamRead m, NestedClass wrapper, SsaVariable captured, SsaImplicitInit capturer |
wrapper.getASourceSupertype+() instanceof TypeInputStream and
m.getDeclaringType() = wrapper and