summaryrefslogtreecommitdiff
path: root/chapter18/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'chapter18/src/main/java/com')
-rw-r--r--chapter18/src/main/java/com/seaofnodes/simple/node/CallEndNode.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/chapter18/src/main/java/com/seaofnodes/simple/node/CallEndNode.java b/chapter18/src/main/java/com/seaofnodes/simple/node/CallEndNode.java
index 48edc0eb..a2866d65 100644
--- a/chapter18/src/main/java/com/seaofnodes/simple/node/CallEndNode.java
+++ b/chapter18/src/main/java/com/seaofnodes/simple/node/CallEndNode.java
@@ -50,6 +50,7 @@ public class CallEndNode extends CFGNode implements MultiNode {
CallNode call = call();
Node fptr = call.fptr();
if( fptr.nOuts() == 1 && // Only user is this call
+ fptr instanceof ConstantNode &&
// Function is being called, and its not-null
fptr._type instanceof TypeFunPtr tfp && tfp.notNull()) {
ReturnNode ret = (ReturnNode)in(1);