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();