From e50a12e1d02848b896e3c37cefa76b58586ba1ba Mon Sep 17 00:00:00 2001
From: Florian Angerer <florian.angerer@oracle.com>
Date: Fri, 2 Jun 2017 13:17:00 +0200
Subject: [PATCH] Inserted null check for evaluated argument.

---
 .../src/com/oracle/truffle/r/nodes/function/PromiseNode.java  | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/PromiseNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/PromiseNode.java
index fb72a30e67..a954484576 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/PromiseNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/PromiseNode.java
@@ -529,6 +529,10 @@ public abstract class PromiseNode extends RNode {
                     size++;
                     evaluatedArgs[i] = promiseCheckHelper.checkEvaluate(frame, argValue);
                 }
+                if (evaluatedArgs[i] == null) {
+                    CompilerDirectives.transferToInterpreterAndInvalidate();
+                    throw RInternalError.shouldNotReachHere("evaluated argument must not be null");
+                }
             }
             if (containsVarargProfile.profile(containsVarargs)) {
                 return size;
-- 
GitLab