From 1a520c4d796fd40f7416c55ac28f9bbeb992ca5e Mon Sep 17 00:00:00 2001 From: yvette Date: Tue, 24 Nov 2020 16:57:47 +0800 Subject: [PATCH] modify static check --- mindspore/lite/src/runtime/kernel/arm/base/pooling_base.cc | 1 + mindspore/lite/tools/anf_exporter/anf_exporter.cc | 6 +++++- .../lite/tools/anf_importer/import_from_meta_graphT.cc | 1 + .../converter/legacy_optimizer/graph/infershape_pass.cc | 3 +++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/mindspore/lite/src/runtime/kernel/arm/base/pooling_base.cc b/mindspore/lite/src/runtime/kernel/arm/base/pooling_base.cc index 7a1cc29c23..f1e9a61da0 100644 --- a/mindspore/lite/src/runtime/kernel/arm/base/pooling_base.cc +++ b/mindspore/lite/src/runtime/kernel/arm/base/pooling_base.cc @@ -48,6 +48,7 @@ int PoolingBaseCPUKernel::SetQuantParam() { free(*pooling_quant_arg_); free(pooling_quant_arg_); pooling_quant_arg_ = nullptr; + *this->pooling_quant_arg_ = nullptr; return RET_MEMORY_FAILED; } auto *input_tensor = in_tensors_.at(kInputIndex); diff --git a/mindspore/lite/tools/anf_exporter/anf_exporter.cc b/mindspore/lite/tools/anf_exporter/anf_exporter.cc index 24b9359963..65a4e2bf85 100644 --- a/mindspore/lite/tools/anf_exporter/anf_exporter.cc +++ b/mindspore/lite/tools/anf_exporter/anf_exporter.cc @@ -471,7 +471,11 @@ int AnfExporter::ConvertInputValueNode(const std::shared_ptr &input_ano paramTensor->dims = {static_cast(shape.size())}; paramTensor->nodeType = schema::NodeType_ValueNode; paramTensor->data.resize(shape.size() * sizeof(int)); - memcpy(paramTensor->data.data(), shape.data(), shape.size() * sizeof(int)); + if (memcpy_s(paramTensor->data.data(), shape.size() * sizeof(int), shape.data(), shape.size() * sizeof(int)) != + RET_OK) { + MS_LOG(ERROR) << "memcpy_s failed"; + return RET_ERROR; + } node_id_map_[valueNode->fullname_with_scope()] = meta_graphT->allTensors.size(); output_cnode->inputIndex.emplace_back(meta_graphT->allTensors.size()); meta_graphT->allTensors.emplace_back(std::move(paramTensor)); diff --git a/mindspore/lite/tools/anf_importer/import_from_meta_graphT.cc b/mindspore/lite/tools/anf_importer/import_from_meta_graphT.cc index 8acc0d37c0..742326b863 100644 --- a/mindspore/lite/tools/anf_importer/import_from_meta_graphT.cc +++ b/mindspore/lite/tools/anf_importer/import_from_meta_graphT.cc @@ -58,6 +58,7 @@ int AnfImporterFromMetaGraphT::ConverterConstTensor() { auto ret = memcpy_s(tensor_data, size, tensor->data.data(), size); if (EOK != ret) { MS_LOG(ERROR) << "memcpy_s error"; + delete[] tensor_data; return RET_MEMORY_FAILED; } param_value->set_tensor_addr(tensor_data); diff --git a/mindspore/lite/tools/converter/legacy_optimizer/graph/infershape_pass.cc b/mindspore/lite/tools/converter/legacy_optimizer/graph/infershape_pass.cc index 02b80fa4c5..eff624d9e5 100644 --- a/mindspore/lite/tools/converter/legacy_optimizer/graph/infershape_pass.cc +++ b/mindspore/lite/tools/converter/legacy_optimizer/graph/infershape_pass.cc @@ -32,15 +32,18 @@ namespace { void FreeTensors(std::vector input_tensors, std::vector output_tensors) { for (auto &tensor : input_tensors) { delete tensor; + tensor = nullptr; } for (auto &tensor : output_tensors) { delete tensor; + tensor = nullptr; } input_tensors.clear(); input_tensors.shrink_to_fit(); output_tensors.clear(); output_tensors.shrink_to_fit(); } + std::vector ConvertTensorToLiteTensor(MetaGraphT *graph, const std::vector &tensor_indexs, const schema::PrimitiveType node_type) { MS_ASSERT(graph != nullptr);