From aca0f17761a9f2ca9b9e3c076e0cead45aca8464 Mon Sep 17 00:00:00 2001 From: rabbit-fgh <2955722401@qq.com> Date: Thu, 29 Aug 2024 10:57:05 +0800 Subject: [PATCH] fix semicolon and nullptr etal --- mindspore/lite/src/litert/c_api/context_c.cc | 4 ++-- .../coreml/pass/coreml_trans_extend_pass.cc | 9 ++++++++- .../src/litert/delegate/npu/npu_subgraph.cc | 4 ++++ .../npu/pass/npu_insert_transform_pass.cc | 9 ++++++++- .../litert/kernel/opencl/kernel/arithmetic.cc | 4 ++++ .../litert/kernel/opencl/kernel/to_format.cc | 4 ++++ .../src/litert/kernel/opencl/opencl_kernel.cc | 8 ++++++++ .../cast_gather_reduce_fusion_pass.cc | 2 +- .../pass/online_fusion/online_fusion_pass.h | 2 +- .../online_fusion/reduce_concat_fusion_pass.cc | 2 +- .../split_reduce_concat_fusion_pass.cc | 2 +- .../src/litert/runtime_packed_node_pass.cc | 1 + .../src/litert/runtime_shape_fusion_pass.cc | 18 +++++++++++++++--- 13 files changed, 58 insertions(+), 11 deletions(-) diff --git a/mindspore/lite/src/litert/c_api/context_c.cc b/mindspore/lite/src/litert/c_api/context_c.cc index 2fe3b055..ef7d4b6a 100644 --- a/mindspore/lite/src/litert/c_api/context_c.cc +++ b/mindspore/lite/src/litert/c_api/context_c.cc @@ -517,8 +517,8 @@ OH_AI_API OH_AI_Status OH_AI_DeviceInfoAddExtension(OH_AI_DeviceInfoHandle devic MS_LOG(ERROR) << "device info is null"; return OH_AI_STATUS_LITE_NULLPTR; } - if (name == nullptr || value == nullptr || value_size < 0) { - MS_LOG(ERROR) << "name/value/value_size is not valid"; + if (name == nullptr || value == nullptr) { + MS_LOG(ERROR) << "name/value is not valid"; return OH_AI_STATUS_LITE_NULLPTR; } if (OH_AI_DeviceInfoGetDeviceType(device_info) != OH_AI_DEVICETYPE_NNRT) { diff --git a/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc b/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc index 810a29d0..d16fd0ee 100644 --- a/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc +++ b/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc @@ -166,8 +166,15 @@ int CoreMLTransExtendPass::InsertTransNode(CoreMLOp *op, CoreMLOp *post_op, cons auto *nc2nh_op = CoreMLPassUtils::CreateNchw2NhwcOp(nh2nc_tensors, nc2nh_tensors, nc2nh_name); trans_ops->push_back(nc2nh_op); - + if(nh2nc == nullptr){ + MS_LOG(ERROR) << "nh2nc_op is nullptr."; + return RET_ERROR; + } CoreMLPassUtils::UpdateOp(nh2nc_op, in_ops, {nc2nh_op}, {trans_in_tensor}, nh2nc_tensors); + if(nc2nh_op == nullptr){ + MS_LOG(ERROR) << "nc2nh_op is nullptr."; + return RET_ERROR; + } CoreMLPassUtils::UpdateOp(nc2nh_op, {nh2nc_op}, out_ops, {nh2nc_tensors[0]}, nc2nh_tensors); if (op != nullptr) { CoreMLPassUtils::UpdateNH2NCTransNodePreOp(op, nh2nc_op, post_op); diff --git a/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc b/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc index 5f56dcea..9d8e233f 100644 --- a/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc +++ b/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc @@ -170,6 +170,10 @@ int NPUSubGraph::BuildNPUInputOp() { if (IsSubGraphInputTensor(in_tensor)) { auto tensor_name = "Input_" + std::to_string(count++) + '_' + op->name(); hiai::op::Data *data = ConverterToNPUData(in_tensor, tensor_name); + if(data == nullptr){ + MS_LOG(ERROR) << "data is nullptr."; + return RET_ERROR; + } subgraph_input_ops_.push_back(*data); input_ops.push_back(data); op_buffer_.push_back(data); diff --git a/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc b/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc index b59037a4..8f4341b7 100644 --- a/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc +++ b/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc @@ -166,8 +166,15 @@ int NPUInsertTransformPass::InsertTransNode(NPUOp *op, NPUOp *post_op, const min auto *nc2nh_op = NPUPassUtils::CreateNchw2NhwcOp(nh2nc_tensors, nc2nh_tensors, nc2nh_name); trans_ops->push_back(nc2nh_op); - + if(nh2nc_op == nullptr){ + MS_LOG(ERROR) << "nh2nc_op is nullptr."; + return RET_ERROR; + } NPUPassUtils::UpdateOp(nh2nc_op, in_ops, {nc2nh_op}, {trans_in_tensor}, nh2nc_tensors); + if(nc2nh_op == nullptr){ + MS_LOG(ERROR) << "nc2nh_op is nullptr."; + return RET_ERROR; + } NPUPassUtils::UpdateOp(nc2nh_op, {nh2nc_op}, out_ops, {nh2nc_tensors[0]}, nc2nh_tensors); if (op != nullptr) { NPUPassUtils::UpdateNH2NCTransNodePreOp(op, nh2nc_op, post_op); diff --git a/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc b/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc index 36edecb1..b70984ca 100644 --- a/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc +++ b/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc @@ -121,6 +121,10 @@ int ArithmeticOpenCLKernel::InitWeights() { for (size_t i = 0; i < in_tensors_.size(); ++i) { const auto &in_tensor = in_tensors_.at(i); auto in_shape = GpuTensorInfo::CreateGpuTensorInfo(in_tensor); + if(in_shape == nullptr){ + MS_LOG(ERROR) << "in_shape is nullptr."; + return RET_ERROR; + } if (in1_shape_switch_flag_ && i == 1) { SwitchGpuTensorInfoNWDim(in_shape.get()); } diff --git a/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc b/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc index 54748128..7db2480e 100644 --- a/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc +++ b/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc @@ -94,6 +94,10 @@ int ToFormatOpenCLKernel::Prepare() { } auto output = GpuTensorInfo::CreateGpuTensorInfo(out_tensor); + if(output == nullptr){ + MS_LOG(ERROR) << "output is nullptr."; + return RET_ERROR; + } N_ = output->N; D_ = output->D; H_ = output->H; diff --git a/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc b/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc index 790e0f4e..3acfa855 100644 --- a/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc +++ b/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc @@ -119,6 +119,10 @@ int OpenCLKernel::GetImageSize(size_t idx, lite::opencl::ImageSize *img_size) { return RET_ERROR; } } + if(img_info == nullptr){ + MS_LOG(ERROR) << "img_info is nullptr."; + return RET_ERROR; + } *img_size = {img_info->width, img_info->height, img_dtype}; return RET_OK; } @@ -147,6 +151,10 @@ void OpenCLKernel::PrintOutput(int print_num, const std::string &out_file) { } auto img_info = GpuTensorInfo::CreateGpuTensorInfo(tensor); + if(img_info == nullptr){ + MS_LOG(ERROR) << "img_info is nullptr."; + return; + } auto size = mem_type == lite::opencl::MemType::BUF ? img_info->OriginSize : img_info->Image2DSize; std::vector data(size); auto runtime_wrapper = lite::opencl::OpenCLRuntimeInnerWrapper(); diff --git a/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc b/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc index 00186dc7..7d59b63d 100644 --- a/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc +++ b/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc @@ -127,7 +127,7 @@ int CastGatherReduceOnlineFusionPass::CreateCastGatherReduceCustomNode(LiteGraph (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize()); auto online_fusion_prim = flatbuffers::GetRoot(prim); if (online_fusion_prim == nullptr) { - free(prim) + free(prim); MS_LOG(ERROR) << "GetRoot CastGatherReduceFusion primitive failed."; return RET_ERROR; } diff --git a/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h b/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h index 9bfa68bd..7ea6fe7f 100644 --- a/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h +++ b/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h @@ -36,7 +36,7 @@ namespace mindspore::lite { class OnlineFusionPass { public: explicit OnlineFusionPass(SearchSubGraph *search_subgrap); - ~OnlineFusionPass(); + virtual ~OnlineFusionPass(); public: void DoOnlineFusionPass(); diff --git a/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc b/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc index 21115cc5..fcbd703e 100644 --- a/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc +++ b/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc @@ -135,7 +135,7 @@ int ReduceConcatOnlineFusionPass::CreateReduceConcatCustomNode(LiteGraph::Node * (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize()); auto online_fusion_prim = flatbuffers::GetRoot(prim); if (online_fusion_prim == nullptr) { - free(prim) + free(prim); MS_LOG(ERROR) << "GetRoot ReduceConcatFusion primitive failed."; return RET_ERROR; } diff --git a/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc b/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc index f9a08a04..88bb86f9 100644 --- a/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc +++ b/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc @@ -233,7 +233,7 @@ int SplitReduceConcatOnlineFusionPass::CreateCustomNode(LiteGraph::Node *node, S (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize()); auto online_fusion_prim = flatbuffers::GetRoot(prim); if (online_fusion_prim == nullptr) { - free(prim) + free(prim); MS_LOG(ERROR) << "GetRoot SplitReduceConcatFusion primitive failed."; return RET_ERROR; } diff --git a/mindspore/lite/src/litert/runtime_packed_node_pass.cc b/mindspore/lite/src/litert/runtime_packed_node_pass.cc index 65454247..15e8d491 100644 --- a/mindspore/lite/src/litert/runtime_packed_node_pass.cc +++ b/mindspore/lite/src/litert/runtime_packed_node_pass.cc @@ -112,6 +112,7 @@ void PackedNodePass::Run(Model *model, const std::vector &tensors) { if (!(reinterpret_cast(model)->keep_model_buf())) { auto index = static_cast(pack_info->weight_sums_index_); if (index > tensors.size()) { + free(prim); MS_LOG(ERROR) << "weight sums tensor index is error."; return; } diff --git a/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc b/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc index f6fc0f82..1f343af8 100644 --- a/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc +++ b/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc @@ -52,12 +52,24 @@ int ShapeFusionPass::ConvertToShapeFusion(LiteGraph::Node *node) { fbb.Clear(); auto shape_fusion_prim = flatbuffers::GetRoot(prim); - MS_CHECK_TRUE_RET(shape_fusion_prim != nullptr, RET_ERROR); + if(shape_fusion_prim == nullptr){ + free(prim); + MS_LOG(ERROR) << "shape_fusion_prim is nullptr"; + return RET_ERROR; + } ShapeFusionMatrix shape_fusion_matrix(shape.size()); - MS_CHECK_TRUE_RET(!node->output_indices_.empty(), RET_ERROR); + if(node->output_indices_.empty()){ + free(prim); + MS_LOG(ERROR) << "node->output_indices_ is empty"; + return RET_ERROR; + } shape_fusion_matrices_[node->output_indices_.front()] = shape_fusion_matrix; auto shape_fusion_matrix_tensor = BuildTensorFromShapeFusionMatrix(shape_fusion_matrix); - MS_CHECK_TRUE_RET(shape_fusion_matrix_tensor != nullptr, RET_ERROR); + if(shape_fusion_matrix_tensor == nullptr){ + free(prim); + MS_LOG(ERROR) << "shape_fusion_matrix_tensor is nullptr"; + return RET_ERROR; + } node->name_ += "_fusion"; node->primitive_ = shape_fusion_prim; -- 2.45.1.windows.1