Skip to content

Commit 1bb9dae

Browse files
authored
Merge branch 'secure-software-engineering:develop' into improve-code
2 parents d1f2e0d + 325fb5d commit 1bb9dae

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

soot-infoflow/src/soot/jimple/infoflow/util/BaseSelector.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import soot.jimple.CastExpr;
1717
import soot.jimple.InstanceOfExpr;
1818
import soot.jimple.NewArrayExpr;
19+
import soot.jimple.NewMultiArrayExpr;
1920
import soot.jimple.UnopExpr;
2021

2122
/**
@@ -54,6 +55,7 @@ else if (val instanceof UnopExpr)
5455
* the operations that are not relevant for analysis like "not" or casts
5556
* are removed - array refs are only removed if explicitly stated
5657
* BinOpExpr are divided into two values
58+
* NewMultiArrayExpr are divided into their sizes
5759
* @param val the value which should be pruned
5860
* @param keepArrayRef if false then array refs are pruned to the base array object
5961
* @return one or more values
@@ -66,6 +68,10 @@ public static Value[] selectBaseList(Value val, boolean keepArrayRef){
6668
set[1] = expr.getOp2();
6769
return set;
6870
}
71+
else if (val instanceof NewMultiArrayExpr) {
72+
NewMultiArrayExpr expr = (NewMultiArrayExpr) val;
73+
return expr.getSizes().toArray(new Value[0]);
74+
}
6975
else
7076
return new Value[] { selectBase(val, keepArrayRef) };
7177
}

0 commit comments

Comments
 (0)