diff --git a/mindspore/lite/src/lite_session.cc b/mindspore/lite/src/lite_session.cc index 4b8946ace42..bae52d70937 100644 --- a/mindspore/lite/src/lite_session.cc +++ b/mindspore/lite/src/lite_session.cc @@ -287,6 +287,13 @@ LiteSession::~LiteSession() { for (auto *kernel : kernels_) { delete kernel; } + for (auto *ms_tensor : input_vec_) { + if (ms_tensor != nullptr) { + ((tensor::LiteTensor *)ms_tensor)->SetTensorImpl(nullptr); + delete ms_tensor; + } + } + input_vec_.clear(); delete this->context_; delete this->executor; this->executor = nullptr; diff --git a/mindspore/lite/tools/benchmark/benchmark.cc b/mindspore/lite/tools/benchmark/benchmark.cc index 5fdb5e8b40e..ada79393ef7 100644 --- a/mindspore/lite/tools/benchmark/benchmark.cc +++ b/mindspore/lite/tools/benchmark/benchmark.cc @@ -102,10 +102,12 @@ int Benchmark::ReadInputFile() { if (size != tensorDataSize) { std::cerr << "Input binary file size error, required: %zu, in fact: %zu" << tensorDataSize << size << std::endl; MS_LOG(ERROR) << "Input binary file size error, required: " << tensorDataSize << ", in fact: " << size; + delete binBuf; return RET_ERROR; } auto inputData = cur_tensor->MutableData(); memcpy(inputData, binBuf, tensorDataSize); + delete binBuf; } } return RET_OK;