diff --git a/mindspore/lite/tools/converter/legacy_optimizer/graph/global_format_transform_pass.cc b/mindspore/lite/tools/converter/legacy_optimizer/graph/global_format_transform_pass.cc index 4ffcce84ff..ddf69758e5 100644 --- a/mindspore/lite/tools/converter/legacy_optimizer/graph/global_format_transform_pass.cc +++ b/mindspore/lite/tools/converter/legacy_optimizer/graph/global_format_transform_pass.cc @@ -86,7 +86,11 @@ STATUS ConvertNcTensor2Nh(TensorT *tensor, const std::vector &pad_dims) { delete[] new_nhwc_data; return RET_ERROR; } - memset(new_nhwc_data, 0, sizeof(float) * size); + if (memset_s(new_nhwc_data, sizeof(float) * size, 0, sizeof(float) * size) != EOK) { + MS_LOG(ERROR) << "create new nhwc data failed"; + delete[] new_nhwc_data; + return RET_ERROR; + } auto nchw_data = reinterpret_cast(tensor->data.data()); // nchw to nhwc for (auto i = 0; i < batch; i++) { @@ -100,7 +104,11 @@ STATUS ConvertNcTensor2Nh(TensorT *tensor, const std::vector &pad_dims) { } } } - memcpy(nchw_data, new_nhwc_data, sizeof(float) * size); + if (memcpy_s(nchw_data, tensor->data.size(), new_nhwc_data, sizeof(float) * size) != EOK) { + MS_LOG(ERROR) << "memcpy_s failed"; + delete[] new_nhwc_data; + return RET_ERROR; + } delete[] new_nhwc_data; return RET_OK; } @@ -129,7 +137,7 @@ STATUS GlobalFormatTransformPass::TransWeightToNhwc(MetaGraphT *graph, const std MS_LOG(ERROR) << "tensor origin tensor size error"; return RET_ERROR; } - if (origin_dims.size() == 0) { + if (origin_dims.empty()) { continue; } auto pad_dims = origin_dims; diff --git a/mindspore/lite/tools/lib_cropper/lib_cropper.cc b/mindspore/lite/tools/lib_cropper/lib_cropper.cc index 3f8788f0c7..c1e2567b36 100644 --- a/mindspore/lite/tools/lib_cropper/lib_cropper.cc +++ b/mindspore/lite/tools/lib_cropper/lib_cropper.cc @@ -35,7 +35,7 @@ int Cropper::ReadPackage() { MS_LOG(DEBUG) << cmd; FILE *p_file = popen(cmd.c_str(), "r"); - if (!p_file) { + if (p_file == nullptr) { MS_LOG(ERROR) << "Error to popen" << this->flags_->package_file_; return RET_ERROR; } @@ -140,13 +140,14 @@ int Cropper::GetModelFiles() { char buf[BUF_SIZE]; FILE *p_file = popen(cmd.c_str(), "r"); - if (!p_file) { + if (p_file == nullptr) { MS_LOG(ERROR) << "Error to popen"; return RET_ERROR; } while (fgets(buf, BUF_SIZE, p_file) != nullptr) { String realPath = RealPath(String(buf).substr(0, String(buf).length() - 1).c_str()); if (realPath.empty()) { + pclose(p_file); return RET_INPUT_PARAM_INVALID; } this->model_files_.emplace_back(realPath); diff --git a/mindspore/lite/tools/optimizer/fusion/conv_conv_fusion.cc b/mindspore/lite/tools/optimizer/fusion/conv_conv_fusion.cc index c14ab80a4f..e791e6b93b 100644 --- a/mindspore/lite/tools/optimizer/fusion/conv_conv_fusion.cc +++ b/mindspore/lite/tools/optimizer/fusion/conv_conv_fusion.cc @@ -69,7 +69,11 @@ STATUS GenNewConvBias(const ParameterPtr &down_bias_node, const ParameterPtr &do MS_LOG(ERROR) << "tensor_data is nullptr"; return RET_ERROR; } - memset(new_bias_data, 0, new_bias_size * sizeof(float)); + if (memset_s(new_bias_data, new_bias_size * sizeof(float), 0, new_bias_size * sizeof(float)) != EOK) { + MS_LOG(ERROR) << "memset_s failed"; + delete[] new_bias_data; + return RET_ERROR; + } auto up_bias_size = up_bias_shape[0]; for (int i = 0; i < new_bias_size; i++) { for (int j = 0; j < up_bias_size; j++) { @@ -112,8 +116,11 @@ STATUS GenNewConvWeight(const ParameterPtr &down_weight_node, const ParameterPtr MS_LOG(ERROR) << "tensor_data is nullptr"; return RET_ERROR; } - memset(new_weight_data, 0, size * sizeof(float)); - + if (memset_s(new_weight_data, size * sizeof(float), 0, size * sizeof(float)) != EOK) { + MS_LOG(ERROR) << "memset_s failed"; + delete[] new_weight_data; + return RET_ERROR; + } for (int i = 0; i < cout1; i++) { auto down_weight_base = i * cout0; auto new_weight_base = i * window_size * cin0; diff --git a/mindspore/lite/tools/optimizer/graph/infershape_pass.cc b/mindspore/lite/tools/optimizer/graph/infershape_pass.cc index 65dcd67107..69b7f7b6f7 100644 --- a/mindspore/lite/tools/optimizer/graph/infershape_pass.cc +++ b/mindspore/lite/tools/optimizer/graph/infershape_pass.cc @@ -89,8 +89,9 @@ STATUS InferShapePass::SetParameterAbstract(const ParameterPtr ¶meter) { return RET_ERROR; } auto ret = memcpy_s(tensor_data, new_value->tensor_size(), param_value->tensor_addr(), param_value->tensor_size()); - if (ret != RET_OK) { + if (ret != EOK) { MS_LOG(ERROR) << "memcpy error: " << ret; + delete[] tensor_data; return RET_ERROR; } new_value->set_tensor_addr(tensor_data);