1From aca0f17761a9f2ca9b9e3c076e0cead45aca8464 Mon Sep 17 00:00:00 2001
2From: rabbit-fgh <2955722401@qq.com>
3Date: Thu, 29 Aug 2024 10:57:05 +0800
4Subject: [PATCH] fix semicolon and nullptr etal
5
6---
7 mindspore/lite/src/litert/c_api/context_c.cc   |  4 ++--
8 .../coreml/pass/coreml_trans_extend_pass.cc    |  9 ++++++++-
9 .../src/litert/delegate/npu/npu_subgraph.cc    |  4 ++++
10 .../npu/pass/npu_insert_transform_pass.cc      |  9 ++++++++-
11 .../litert/kernel/opencl/kernel/arithmetic.cc  |  4 ++++
12 .../litert/kernel/opencl/kernel/to_format.cc   |  4 ++++
13 .../src/litert/kernel/opencl/opencl_kernel.cc  |  8 ++++++++
14 .../cast_gather_reduce_fusion_pass.cc          |  2 +-
15 .../pass/online_fusion/online_fusion_pass.h    |  2 +-
16 .../online_fusion/reduce_concat_fusion_pass.cc |  2 +-
17 .../split_reduce_concat_fusion_pass.cc         |  2 +-
18 .../src/litert/runtime_packed_node_pass.cc     |  1 +
19 .../src/litert/runtime_shape_fusion_pass.cc    | 18 +++++++++++++++---
20 13 files changed, 58 insertions(+), 11 deletions(-)
21
22diff --git a/mindspore/lite/src/litert/c_api/context_c.cc b/mindspore/lite/src/litert/c_api/context_c.cc
23index 2fe3b055..ef7d4b6a 100644
24--- a/mindspore/lite/src/litert/c_api/context_c.cc
25+++ b/mindspore/lite/src/litert/c_api/context_c.cc
26@@ -517,8 +517,8 @@ OH_AI_API OH_AI_Status OH_AI_DeviceInfoAddExtension(OH_AI_DeviceInfoHandle devic
27     MS_LOG(ERROR) << "device info is null";
28     return OH_AI_STATUS_LITE_NULLPTR;
29   }
30-  if (name == nullptr || value == nullptr || value_size < 0) {
31-    MS_LOG(ERROR) << "name/value/value_size is not valid";
32+  if (name == nullptr || value == nullptr) {
33+    MS_LOG(ERROR) << "name/value is not valid";
34     return OH_AI_STATUS_LITE_NULLPTR;
35   }
36   if (OH_AI_DeviceInfoGetDeviceType(device_info) != OH_AI_DEVICETYPE_NNRT) {
37diff --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
38index 810a29d0..d16fd0ee 100644
39--- a/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc
40+++ b/mindspore/lite/src/litert/delegate/coreml/pass/coreml_trans_extend_pass.cc
41@@ -166,8 +166,15 @@ int CoreMLTransExtendPass::InsertTransNode(CoreMLOp *op, CoreMLOp *post_op, cons
42 
43   auto *nc2nh_op = CoreMLPassUtils::CreateNchw2NhwcOp(nh2nc_tensors, nc2nh_tensors, nc2nh_name);
44   trans_ops->push_back(nc2nh_op);
45-
46+  if(nh2nc == nullptr){
47+    MS_LOG(ERROR) << "nh2nc_op is nullptr.";
48+    return RET_ERROR;
49+  }
50   CoreMLPassUtils::UpdateOp(nh2nc_op, in_ops, {nc2nh_op}, {trans_in_tensor}, nh2nc_tensors);
51+  if(nc2nh_op == nullptr){
52+    MS_LOG(ERROR) << "nc2nh_op is nullptr.";
53+    return RET_ERROR;
54+  }
55   CoreMLPassUtils::UpdateOp(nc2nh_op, {nh2nc_op}, out_ops, {nh2nc_tensors[0]}, nc2nh_tensors);
56   if (op != nullptr) {
57     CoreMLPassUtils::UpdateNH2NCTransNodePreOp(op, nh2nc_op, post_op);
58diff --git a/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc b/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc
59index 5f56dcea..9d8e233f 100644
60--- a/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc
61+++ b/mindspore/lite/src/litert/delegate/npu/npu_subgraph.cc
62@@ -170,6 +170,10 @@ int NPUSubGraph::BuildNPUInputOp() {
63       if (IsSubGraphInputTensor(in_tensor)) {
64         auto tensor_name = "Input_" + std::to_string(count++) + '_' + op->name();
65         hiai::op::Data *data = ConverterToNPUData(in_tensor, tensor_name);
66+        if(data == nullptr){
67+          MS_LOG(ERROR) << "data is nullptr.";
68+          return RET_ERROR;
69+        }
70         subgraph_input_ops_.push_back(*data);
71         input_ops.push_back(data);
72         op_buffer_.push_back(data);
73diff --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
74index b59037a4..8f4341b7 100644
75--- a/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc
76+++ b/mindspore/lite/src/litert/delegate/npu/pass/npu_insert_transform_pass.cc
77@@ -166,8 +166,15 @@ int NPUInsertTransformPass::InsertTransNode(NPUOp *op, NPUOp *post_op, const min
78 
79   auto *nc2nh_op = NPUPassUtils::CreateNchw2NhwcOp(nh2nc_tensors, nc2nh_tensors, nc2nh_name);
80   trans_ops->push_back(nc2nh_op);
81-
82+  if(nh2nc_op == nullptr){
83+    MS_LOG(ERROR) << "nh2nc_op is nullptr.";
84+    return RET_ERROR;
85+  }
86   NPUPassUtils::UpdateOp(nh2nc_op, in_ops, {nc2nh_op}, {trans_in_tensor}, nh2nc_tensors);
87+  if(nc2nh_op == nullptr){
88+    MS_LOG(ERROR) << "nc2nh_op is nullptr.";
89+    return RET_ERROR;
90+  }
91   NPUPassUtils::UpdateOp(nc2nh_op, {nh2nc_op}, out_ops, {nh2nc_tensors[0]}, nc2nh_tensors);
92   if (op != nullptr) {
93     NPUPassUtils::UpdateNH2NCTransNodePreOp(op, nh2nc_op, post_op);
94diff --git a/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc b/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc
95index 36edecb1..b70984ca 100644
96--- a/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc
97+++ b/mindspore/lite/src/litert/kernel/opencl/kernel/arithmetic.cc
98@@ -121,6 +121,10 @@ int ArithmeticOpenCLKernel::InitWeights() {
99   for (size_t i = 0; i < in_tensors_.size(); ++i) {
100     const auto &in_tensor = in_tensors_.at(i);
101     auto in_shape = GpuTensorInfo::CreateGpuTensorInfo(in_tensor);
102+    if(in_shape == nullptr){
103+      MS_LOG(ERROR) << "in_shape is nullptr.";
104+      return RET_ERROR;
105+    }
106     if (in1_shape_switch_flag_ && i == 1) {
107       SwitchGpuTensorInfoNWDim(in_shape.get());
108     }
109diff --git a/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc b/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc
110index 54748128..7db2480e 100644
111--- a/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc
112+++ b/mindspore/lite/src/litert/kernel/opencl/kernel/to_format.cc
113@@ -94,6 +94,10 @@ int ToFormatOpenCLKernel::Prepare() {
114   }
115 
116   auto output = GpuTensorInfo::CreateGpuTensorInfo(out_tensor);
117+  if(output == nullptr){
118+    MS_LOG(ERROR) << "output is nullptr.";
119+    return RET_ERROR;
120+  }
121   N_ = output->N;
122   D_ = output->D;
123   H_ = output->H;
124diff --git a/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc b/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc
125index 790e0f4e..3acfa855 100644
126--- a/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc
127+++ b/mindspore/lite/src/litert/kernel/opencl/opencl_kernel.cc
128@@ -119,6 +119,10 @@ int OpenCLKernel::GetImageSize(size_t idx, lite::opencl::ImageSize *img_size) {
129       return RET_ERROR;
130     }
131   }
132+  if(img_info == nullptr){
133+    MS_LOG(ERROR) << "img_info is nullptr.";
134+    return RET_ERROR;
135+  }
136   *img_size = {img_info->width, img_info->height, img_dtype};
137   return RET_OK;
138 }
139@@ -147,6 +151,10 @@ void OpenCLKernel::PrintOutput(int print_num, const std::string &out_file) {
140   }
141 
142   auto img_info = GpuTensorInfo::CreateGpuTensorInfo(tensor);
143+  if(img_info == nullptr){
144+    MS_LOG(ERROR) << "img_info is nullptr.";
145+    return;
146+  }
147   auto size = mem_type == lite::opencl::MemType::BUF ? img_info->OriginSize : img_info->Image2DSize;
148   std::vector<char> data(size);
149   auto runtime_wrapper = lite::opencl::OpenCLRuntimeInnerWrapper();
150diff --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
151index 00186dc7..7d59b63d 100644
152--- a/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc
153+++ b/mindspore/lite/src/litert/pass/online_fusion/cast_gather_reduce_fusion_pass.cc
154@@ -127,7 +127,7 @@ int CastGatherReduceOnlineFusionPass::CreateCastGatherReduceCustomNode(LiteGraph
155   (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize());
156   auto online_fusion_prim = flatbuffers::GetRoot<schema::Primitive>(prim);
157   if (online_fusion_prim == nullptr) {
158-    free(prim)
159+    free(prim);
160     MS_LOG(ERROR) << "GetRoot CastGatherReduceFusion primitive failed.";
161     return RET_ERROR;
162   }
163diff --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
164index 9bfa68bd..7ea6fe7f 100644
165--- a/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h
166+++ b/mindspore/lite/src/litert/pass/online_fusion/online_fusion_pass.h
167@@ -36,7 +36,7 @@ namespace mindspore::lite {
168 class OnlineFusionPass {
169  public:
170   explicit OnlineFusionPass(SearchSubGraph *search_subgrap);
171-  ~OnlineFusionPass();
172+  virtual ~OnlineFusionPass();
173 
174  public:
175   void DoOnlineFusionPass();
176diff --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
177index 21115cc5..fcbd703e 100644
178--- a/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc
179+++ b/mindspore/lite/src/litert/pass/online_fusion/reduce_concat_fusion_pass.cc
180@@ -135,7 +135,7 @@ int ReduceConcatOnlineFusionPass::CreateReduceConcatCustomNode(LiteGraph::Node *
181   (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize());
182   auto online_fusion_prim = flatbuffers::GetRoot<schema::Primitive>(prim);
183   if (online_fusion_prim == nullptr) {
184-    free(prim)
185+    free(prim);
186     MS_LOG(ERROR) << "GetRoot ReduceConcatFusion primitive failed.";
187     return RET_ERROR;
188   }
189diff --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
190index f9a08a04..88bb86f9 100644
191--- a/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc
192+++ b/mindspore/lite/src/litert/pass/online_fusion/split_reduce_concat_fusion_pass.cc
193@@ -233,7 +233,7 @@ int SplitReduceConcatOnlineFusionPass::CreateCustomNode(LiteGraph::Node *node, S
194   (void)memcpy(prim, fbb.GetBufferPointer(), fbb.GetSize());
195   auto online_fusion_prim = flatbuffers::GetRoot<schema::Primitive>(prim);
196   if (online_fusion_prim == nullptr) {
197-    free(prim)
198+    free(prim);
199     MS_LOG(ERROR) << "GetRoot SplitReduceConcatFusion primitive failed.";
200     return RET_ERROR;
201   }
202diff --git a/mindspore/lite/src/litert/runtime_packed_node_pass.cc b/mindspore/lite/src/litert/runtime_packed_node_pass.cc
203index 65454247..15e8d491 100644
204--- a/mindspore/lite/src/litert/runtime_packed_node_pass.cc
205+++ b/mindspore/lite/src/litert/runtime_packed_node_pass.cc
206@@ -112,6 +112,7 @@ void PackedNodePass::Run(Model *model, const std::vector<Tensor *> &tensors) {
207       if (!(reinterpret_cast<lite::LiteModel *>(model)->keep_model_buf())) {
208         auto index = static_cast<size_t>(pack_info->weight_sums_index_);
209         if (index > tensors.size()) {
210+          free(prim);
211           MS_LOG(ERROR) << "weight sums tensor index is error.";
212           return;
213         }
214diff --git a/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc b/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc
215index f6fc0f82..1f343af8 100644
216--- a/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc
217+++ b/mindspore/lite/src/litert/runtime_shape_fusion_pass.cc
218@@ -52,12 +52,24 @@ int ShapeFusionPass::ConvertToShapeFusion(LiteGraph::Node *node) {
219   fbb.Clear();
220 
221   auto shape_fusion_prim = flatbuffers::GetRoot<schema::Primitive>(prim);
222-  MS_CHECK_TRUE_RET(shape_fusion_prim != nullptr, RET_ERROR);
223+  if(shape_fusion_prim == nullptr){
224+    free(prim);
225+    MS_LOG(ERROR) << "shape_fusion_prim is nullptr";
226+    return RET_ERROR;
227+  }
228   ShapeFusionMatrix shape_fusion_matrix(shape.size());
229-  MS_CHECK_TRUE_RET(!node->output_indices_.empty(), RET_ERROR);
230+  if(node->output_indices_.empty()){
231+    free(prim);
232+    MS_LOG(ERROR) << "node->output_indices_ is empty";
233+    return RET_ERROR;
234+  }
235   shape_fusion_matrices_[node->output_indices_.front()] = shape_fusion_matrix;
236   auto shape_fusion_matrix_tensor = BuildTensorFromShapeFusionMatrix(shape_fusion_matrix);
237-  MS_CHECK_TRUE_RET(shape_fusion_matrix_tensor != nullptr, RET_ERROR);
238+  if(shape_fusion_matrix_tensor == nullptr){
239+    free(prim);
240+    MS_LOG(ERROR) << "shape_fusion_matrix_tensor is nullptr";
241+    return RET_ERROR;
242+  }
243 
244   node->name_ += "_fusion";
245   node->primitive_ = shape_fusion_prim;
246-- 
2472.45.1.windows.1
248
249