diff --git a/onnxruntime/core/providers/openvino/backend_utils.cc b/onnxruntime/core/providers/openvino/backend_utils.cc index 9527920ea4..7e5f83e2a2 100644 --- a/onnxruntime/core/providers/openvino/backend_utils.cc +++ b/onnxruntime/core/providers/openvino/backend_utils.cc @@ -36,7 +36,6 @@ bool IsDebugEnabled() { void DumpOnnxModelProto(const Provider_ModelProto& model_proto, std::string file_name) { std::fstream outfile(file_name, std::ios::out | std::ios::trunc | std::ios::binary); model_proto.SerializeToOstream(outfile); - outfile.close(); } #endif @@ -187,7 +186,7 @@ GetOutputTensor(Ort::CustomOpApi& ort, OrtKernelContext* context, size_t batch_s graph_output_dims.insert(graph_output_dims.begin(), batch_size); } size_t num_dims = graph_output_dims.size(); - auto output_shape = new int64_t[num_dims]; + std::unique_ptr output_shape(new int64_t[num_dims]); for (size_t j = 0; j < num_dims; j++) { output_shape[j] = static_cast(graph_output_dims[j]); } @@ -197,8 +196,7 @@ GetOutputTensor(Ort::CustomOpApi& ort, OrtKernelContext* context, size_t batch_s } int index = it->second; - output_tensor = ort.KernelContext_GetOutput(context, index, output_shape, num_dims); - delete[] output_shape; + output_tensor = ort.KernelContext_GetOutput(context, index, output_shape.get(), num_dims); return output_tensor; } @@ -218,12 +216,11 @@ GetOutputTensor(Ort::CustomOpApi& ort, OrtKernelContext* context, auto shape = node->get_shape(); size_t num_dims = shape.size(); - auto output_shape = new int64_t[num_dims]; + std::unique_ptr output_shape(new int64_t[num_dims]); for (size_t j = 0; j < num_dims; j++) { output_shape[j] = static_cast(shape[j]); } - output_tensor = ort.KernelContext_GetOutput(context, index, output_shape, num_dims); - delete[] output_shape; + output_tensor = ort.KernelContext_GetOutput(context, index, output_shape.get(), num_dims); return output_tensor; }