8197828: Null pointer dereference in MultiNode::proj_out_or_null
Summary: Added a null check for the return value of AllocateNode::initialization().
Reviewed-by: kvn, shade, dlong
--- a/src/hotspot/share/opto/callnode.cpp Wed Feb 14 17:20:59 2018 -0500
+++ b/src/hotspot/share/opto/callnode.cpp Thu Feb 15 09:17:56 2018 +0100
@@ -1441,8 +1441,10 @@
if (!allow_new_nodes) return NULL;
// Create a cast which is control dependent on the initialization to
// propagate the fact that the array length must be positive.
+ InitializeNode* init = initialization();
+ assert(init != NULL, "initialization not found");
length = new CastIINode(length, narrow_length_type);
- length->set_req(0, initialization()->proj_out_or_null(0));
+ length->set_req(0, init->proj_out_or_null(0));
}
}