# HG changeset patch # User Christian Humer # Date 1412931274 -7200 # Node ID c58171f94377facede3be554e9fc591bd347b663 # Parent 4c0dcd16471893bcc201c8c166b26974aa617a83 Truffle: fix potential null dereferences in call tree visitor. diff -r 4c0dcd164718 -r c58171f94377 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java Fri Oct 10 10:54:11 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleInlining.java Fri Oct 10 10:54:34 2014 +0200 @@ -173,9 +173,11 @@ static int getNodeDepth(List decisionStack, Node node) { int depth = calculateNodeDepth(node); - for (int i = decisionStack.size() - 1; i > 0; i--) { - TruffleInliningDecision decision = (TruffleInliningDecision) decisionStack.get(i); - depth += calculateNodeDepth(decision.getProfile().getCallNode()); + if (decisionStack != null) { + for (int i = decisionStack.size() - 1; i > 0; i--) { + TruffleInliningDecision decision = (TruffleInliningDecision) decisionStack.get(i); + depth += calculateNodeDepth(decision.getProfile().getCallNode()); + } } return depth; } @@ -191,7 +193,7 @@ } static TruffleInliningDecision getCurrentInliningDecision(List decisionStack) { - if (decisionStack.size() <= 1) { + if (decisionStack == null || decisionStack.size() <= 1) { return null; } return (TruffleInliningDecision) decisionStack.get(decisionStack.size() - 1);