Browse Source

!7979 fix memory leak

Merge pull request !7979 from zhaozhenlong/lite/issue/arithmetic_parameter_free_if_needed
tags/v1.1.0
mindspore-ci-bot Gitee 5 years ago
parent
commit
460a708ede
2 changed files with 20 additions and 2 deletions
  1. +10
    -1
      mindspore/lite/src/runtime/kernel/arm/fp16/arithmetic_fp16.cc
  2. +10
    -1
      mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic.cc

+ 10
- 1
mindspore/lite/src/runtime/kernel/arm/fp16/arithmetic_fp16.cc View File

@@ -107,7 +107,16 @@ int ArithmeticFP16CPUKernel::PreProcess() {
MS_LOG(ERROR) << "InferShape fail!"; MS_LOG(ERROR) << "InferShape fail!";
return ret; return ret;
} }
param_ = reinterpret_cast<ArithmeticParameter *>(PopulateArithmetic(primitive_));
if (op_parameter_ != nullptr) {
free(op_parameter_);
op_parameter_ = nullptr;
}
op_parameter_ = PopulateArithmetic(primitive_);
if (op_parameter_ == nullptr) {
MS_LOG(ERROR) << "Malloc parameter failed";
return RET_ERROR;
}
param_ = reinterpret_cast<ArithmeticParameter *>(op_parameter_);
ret = ReSize(); ret = ReSize();
if (ret != 0) { if (ret != 0) {
MS_LOG(ERROR) << "ReSize fail!ret: " << ret; MS_LOG(ERROR) << "ReSize fail!ret: " << ret;


+ 10
- 1
mindspore/lite/src/runtime/kernel/arm/fp32/arithmetic.cc View File

@@ -48,7 +48,16 @@ int ArithmeticCPUKernel::PreProcess() {
MS_LOG(ERROR) << "InferShape fail!"; MS_LOG(ERROR) << "InferShape fail!";
return ret; return ret;
} }
arithmeticParameter_ = reinterpret_cast<ArithmeticParameter *>(PopulateArithmetic(primitive_));
if (op_parameter_ != nullptr) {
free(op_parameter_);
op_parameter_ = nullptr;
}
op_parameter_ = PopulateArithmetic(primitive_);
if (op_parameter_ == nullptr) {
MS_LOG(ERROR) << "Malloc parameter failed";
return RET_ERROR;
}
arithmeticParameter_ = reinterpret_cast<ArithmeticParameter *>(op_parameter_);
ret = ReSize(); ret = ReSize();
if (ret != 0) { if (ret != 0) {
MS_LOG(ERROR) << "ReSize fail!ret: " << ret; MS_LOG(ERROR) << "ReSize fail!ret: " << ret;


Loading…
Cancel
Save