message: Add a check to catch out-of-bound access on invalid Graphs
  The existing Check trying to catch malformed graph is not robust when
  an op is registered with an expected number of inputs but has data edges
  beyond this.
diff: @@ -678,6 +678,10 @@ void Graph::ToGraphDefSubRange(GraphDef* graph_def, int from_node_id) const {
  if (edge->IsControlEdge()) {
  inputs.push_back(edge);
  } else {
  + DCHECK(edge->dst_input() < inputs.size())
  + << "Edge " << edge->DebugString()
  + << " is overflowing the expected number of inputs ("
  + << node->num_inputs() << ") for node " << node->DebugString();
  CHECK(inputs[edge->dst_input()] == nullptr)
  << "Edge " << edge->src()->DebugString() << ":"
  << edge->dst()->DebugString() << " with dst_input "
  