From 3e9c3e698795ba894d99f165fed01037ccc30d04 Mon Sep 17 00:00:00 2001 From: amammad <77095239+amammad@users.noreply.github.com> Date: Sat, 30 Sep 2023 04:28:37 +1000 Subject: [PATCH] remove inputStream and its subclasses module which has no impact on query now! --- .../DecompressionBomb.ql | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/java/ql/src/experimental/Security/CWE/CWE-522-DecompressionBombs/DecompressionBomb.ql b/java/ql/src/experimental/Security/CWE/CWE-522-DecompressionBombs/DecompressionBomb.ql index 5e6fb7e857a..4aa3afffcd7 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-522-DecompressionBombs/DecompressionBomb.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-522-DecompressionBombs/DecompressionBomb.ql @@ -433,44 +433,6 @@ module Zip { } } -/** - * Providing InputStream and it subClasses as Local Decompression sources - */ -module InputStream { - class TypeInputStream extends RefType { - TypeInputStream() { this.getASupertype*().hasQualifiedName("java.io", "InputStream") } - } - - class Source extends Call { - Source() { - exists(Call c | c.getCallee().getDeclaringType() instanceof TypeInputStream | this = c) - } - - DataFlow::Node getInputArgument() { result.asExpr() = this.(ConstructorCall).getArgument(0) } - } - - class Read extends MethodAccess { - Read() { - this.getReceiverType() instanceof TypeInputStream and - this.getCallee().hasName(["read", "readNBytes", "readAllBytes"]) - } - } - - predicate additionalTaintStep(DataFlow::Node n1, DataFlow::Node n2) { - exists(Call call | - ( - call.getCallee().getDeclaringType() instanceof TypeInputStream or - call.(MethodAccess).getReceiverType() instanceof TypeInputStream - ) and - call.getCallee().hasName(["read", "readNBytes", "readAllBytes"]) and - call.getQualifier() = n1.asExpr() and - ( - call.getArgument(0) = n2.asExpr() or - call = n2.asExpr() - ) - ) - } -} module DecompressionBombsConfig implements DataFlow::StateConfigSig { class FlowState = DataFlow::FlowState;