[Trivial] Fix coverity issue
authorSeoHyungjun <hyungjun.seo@samsung.com>
Wed, 23 Nov 2022 08:29:13 +0000 (17:29 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Thu, 24 Nov 2022 01:01:31 +0000 (10:01 +0900)
Added a conditional statement to work only if the result of find_if() is not the end of the iterator
to solve the `INVALIDATE_ITERATOR` issue

**Self evaluation:**
1. Build test: [X]Passed []Failed []Skipped
2. Run test: [X]Passed []Failed []Skipped

Signed-off-by: SeoHyungjun <hyungjun.seo@samsung.com>
nntrainer/compiler/tflite_interpreter.cpp

index 1744d1c..07d641a 100644 (file)
@@ -359,14 +359,15 @@ TfOpNodes buildOpNodes(const GraphRepresentation &representation,
     tf_node->arity(layer_node_inputs.size());
     for (size_t index = 0; index < layer_node_inputs.size(); index++) {
       auto input_layer_name = layer_node_inputs[index];
-      auto input_layer_node =
-        std::find_if(
-          representation.begin(), representation.end(),
-          [&input_layer_name](std::shared_ptr<nntrainer::LayerNode> node) {
-            return istrequal(node.get()->getName(), input_layer_name);
-          })
-          ->get();
-      tf_node->setArg(index, layer_to_tf.find(input_layer_node)->second);
+      auto input_later_node_iterator = std::find_if(
+        representation.begin(), representation.end(),
+        [&input_layer_name](std::shared_ptr<nntrainer::LayerNode> node) {
+          return istrequal(node.get()->getName(), input_layer_name);
+        });
+      if (input_later_node_iterator != representation.end()) {
+        auto input_layer_node = input_later_node_iterator->get();
+        tf_node->setArg(index, layer_to_tf.find(input_layer_node)->second);
+      }
     }
   }