From f4f1f78f707946f78586327a5d43d245f2b3b0bb Mon Sep 17 00:00:00 2001 From: Tobias Stoeckert Date: Wed, 1 Dec 2021 16:30:25 +0100 Subject: [PATCH] exception avoiding --- .../jimple/infoflow/problems/rules/ArrayPropagationRule.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/soot-infoflow/src/soot/jimple/infoflow/problems/rules/ArrayPropagationRule.java b/soot-infoflow/src/soot/jimple/infoflow/problems/rules/ArrayPropagationRule.java index 50c29f332..18bc54819 100644 --- a/soot-infoflow/src/soot/jimple/infoflow/problems/rules/ArrayPropagationRule.java +++ b/soot-infoflow/src/soot/jimple/infoflow/problems/rules/ArrayPropagationRule.java @@ -69,7 +69,10 @@ && getAliasing().mayAlias(rightBase, source.getAccessPath().getPlainValue())) { // We must remove one layer of array typing, e.g., A[][] -> A[] Type targetType = source.getAccessPath().getBaseType(); assert targetType instanceof ArrayType; - targetType = ((ArrayType) targetType).getElementType(); + if (targetType instanceof ArrayType) + targetType = ((ArrayType) targetType).getElementType(); + else + targetType = null; // Create the new taint abstraction ArrayTaintType arrayTaintType = source.getAccessPath().getArrayTaintType();