From 3f7127bb86ee27b050b9f3ee15353ec0b02ef5a1 Mon Sep 17 00:00:00 2001 From: zhaozhenlong Date: Tue, 27 Jul 2021 18:52:09 +0800 Subject: [PATCH] fix nullptr deference and same str compare --- .../backend/kernel_compiler/cpu/nnacl/base/broadcast_to.c | 3 ++- .../lite/tools/optimizer/fusion/tf_bidirection_gru_fusion.cc | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/base/broadcast_to.c b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/base/broadcast_to.c index 20f73800c7f..ede7fc7166a 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/base/broadcast_to.c +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/base/broadcast_to.c @@ -51,7 +51,8 @@ void pad_input_shape(int *input_shape, int input_shape_len, int output_shape_len const int *output_shape = shape_info->output_shape_; \ const int dim_max = shape_info->output_shape_size_ - 1; \ const size_t bool_length = 1, number_length = 4; \ - const size_t data_length = strcmp(#type, "bool") ? number_length : bool_length; \ + const char *type_name = "bool"; \ + const size_t data_length = strcmp(#type, type_name) ? number_length : bool_length; \ const size_t temp_length = accumulate(output_shape, 0, dim_max); \ type *data_temp = (type *)malloc(temp_length * data_length); \ if (data_temp == NULL) { \ diff --git a/mindspore/lite/tools/optimizer/fusion/tf_bidirection_gru_fusion.cc b/mindspore/lite/tools/optimizer/fusion/tf_bidirection_gru_fusion.cc index be6ed70f68a..c4a1ed497b8 100644 --- a/mindspore/lite/tools/optimizer/fusion/tf_bidirection_gru_fusion.cc +++ b/mindspore/lite/tools/optimizer/fusion/tf_bidirection_gru_fusion.cc @@ -453,14 +453,14 @@ CNodePtr TfBidirectionGruFusion::CreateBiDirectionGruNode(const FuncGraphPtr &fu float *recu_tensor_data = nullptr; auto recu_weight = AddDefaultParameter(func_graph, base_name + "_cand_weight", recu_weight_shape, kNumberTypeFloat32, reinterpret_cast(&recu_tensor_data)); - if (recu_weight == nullptr) { + if (recu_weight == nullptr || recu_tensor_data == nullptr) { return nullptr; } std::vector bias_shape{2, hidden_size * 6}; float *bias_tensor_data = nullptr; auto bias = AddDefaultParameter(func_graph, base_name + "_bias", bias_shape, kNumberTypeFloat32, reinterpret_cast(&bias_tensor_data)); - if (bias == nullptr) { + if (bias == nullptr || bias_tensor_data == nullptr) { return nullptr; } for (int i = 0; i < 2 * hidden_size * 6; ++i) {