message: Fix an integer overflow problem in PropagateShapes.
diff: @@ -707,17 +707,17 @@ Status GraphProperties::PropagateShapes(
  // incorrect shape functions. The algoritm should converge in at most
  // num_nested_loops^2 * max_rank. We approximate max_rank with the constant 4.
  // The same applies to resources.
  - const int num_loops = new_shapes->size();
  - const int max_loop_length = item_.graph.node_size();
  - const int max_rank = 4;
  - const int max_loop_iterations =
  - max_rank * max_loop_length * std::max(1, num_loops * num_loops);
  - const int num_queues = resources.size();
  - const int max_resource_iterations = num_queues * num_queues * max_rank;
  -
  - int num_resource_iterations = 0;
  + const int64 num_loops = new_shapes->size();
  + const int64 max_loop_length = item_.graph.node_size();
  + const int64 max_rank = 4;
  + const int64 max_loop_iterations =
  + max_rank * max_loop_length * std::max<int64>(1, num_loops * num_loops);
  + const int64 num_queues = resources.size();
  + const int64 max_resource_iterations = num_queues * num_queues * max_rank;
  +
  + int64 num_resource_iterations = 0;
  do {
  - int num_loop_iterations = 0;
  + int64 num_loop_iterations = 0;
  while (!new_shapes->empty() &&
  num_loop_iterations++ < max_loop_iterations) {
  const Node* n = new_shapes->pop();
  