output_array->GetMutableBuffer<ArrayDataType::kFloat>().data;
output_float_data.resize(RequiredBufferSizeForShape(output_array->shape()),
0.f);
+ CHECK_GE(output_float_data.size(), input_flat_size);
if (input_tensor.float_val_size() == 1) {
for (int i = 0; i < input_flat_size; i++) {
output_float_data[i] = input_tensor.float_val(0);
auto& output_int_data =
output_array->GetMutableBuffer<ArrayDataType::kUint8>().data;
output_int_data.resize(RequiredBufferSizeForShape(output_array->shape()), 0);
+ CHECK_GE(output_int_data.size(), input_flat_size);
if (input_tensor.int_val_size()) {
for (int i = 0; i < input_tensor.int_val_size(); i++) {
output_int_data[i] = input_tensor.int_val(i);
auto& output_int_data =
output_array->GetMutableBuffer<ArrayDataType::kInt32>().data;
output_int_data.resize(RequiredBufferSizeForShape(output_array->shape()), 0);
+ CHECK_GE(output_int_data.size(), input_flat_size);
if (input_tensor.int_val_size()) {
for (int i = 0; i < input_tensor.int_val_size(); i++) {
output_int_data[i] = input_tensor.int_val(i);
auto& output_int_data =
output_array->GetMutableBuffer<ArrayDataType::kInt64>().data;
output_int_data.resize(RequiredBufferSizeForShape(output_array->shape()), 0);
+ CHECK_GE(output_int_data.size(), input_flat_size);
if (input_tensor.int64_val_size()) {
for (int i = 0; i < input_tensor.int64_val_size(); i++) {
output_int_data[i] = input_tensor.int64_val(i);
output_array->GetMutableBuffer<ArrayDataType::kBool>().data;
output_bool_data.resize(RequiredBufferSizeForShape(output_array->shape()),
false);
+ CHECK_GE(output_bool_data.size(), input_flat_size);
if (input_tensor.bool_val_size()) {
for (int i = 0; i < input_tensor.bool_val_size(); i++) {
output_bool_data[i] = input_tensor.bool_val(i);
output_array->mutable_shape());
if (!status.ok()) return status;
+ if (input_flat_size != input_tensor.string_val_size()) {
+ return Status(false,
+ "Input_content string_val doesn't have the right dimensions "
+ "for this string tensor");
+ }
+
auto& output_string_data =
output_array->GetMutableBuffer<ArrayDataType::kString>().data;
output_string_data.resize(RequiredBufferSizeForShape(output_array->shape()));
- if (input_flat_size != input_tensor.string_val_size()) {
- LOG(FATAL) << "Input_content string_val doesn't have the right "
- "dimensions for this string tensor.";
- }
+ CHECK_GE(output_string_data.size(), input_flat_size);
for (int i = 0; i < input_flat_size; ++i) {
output_string_data[i] = input_tensor.string_val(i);
}