[Coverity] Fix coverity issue
authorhyunil park <hyunil46.park@samsung.com>
Fri, 25 Aug 2023 05:42:57 +0000 (14:42 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Fri, 25 Aug 2023 07:07:40 +0000 (16:07 +0900)
Resource leak occurs after ml_tensor_get_count() failure
- need to free ml_tensors_data_h
- change function call order to fix leak

Signed-off-by: hyunil park <hyunil46.park@samsung.com>
c/src/ml-api-service-query-client.c

index 3f831cf..c2b56b8 100644 (file)
@@ -35,20 +35,20 @@ _sink_callback_for_query_client (const ml_tensors_data_h data,
   guint i, count = 0U;
   int status;
 
-  status = ml_tensors_data_create (info, &copied_data);
+  status = ml_tensors_info_get_count (info, &count);
   if (ML_ERROR_NONE != status) {
     _ml_error_report_continue
-        ("Failed to create a new tensors data for query_client.");
+        ("Failed to get count of tensors info from tensor_sink.");
     return;
   }
-  _copied_data_s = (ml_tensors_data_s *) copied_data;
 
-  status = ml_tensors_info_get_count (info, &count);
+  status = ml_tensors_data_create (info, &copied_data);
   if (ML_ERROR_NONE != status) {
     _ml_error_report_continue
-        ("Failed to get count of tensors info from tensor_sink.");
+        ("Failed to create a new tensors data for query_client.");
     return;
   }
+  _copied_data_s = (ml_tensors_data_s *) copied_data;
 
   for (i = 0; i < count; ++i) {
     memcpy (_copied_data_s->tensors[i].tensor, data_s->tensors[i].tensor,