[Edge] Add checking return value
authorseungha son <seungha.son@samsung.com>
Thu, 28 Mar 2024 03:29:04 +0000 (12:29 +0900)
committerjaeyun-jung <39614140+jaeyun-jung@users.noreply.github.com>
Thu, 28 Mar 2024 04:34:49 +0000 (13:34 +0900)
 In _nns_edge_transfer_data(), there is no checking return value.
 It is difficult to check when a problem occurs during the data transmission process,
 so check return values and add logs when problems occur.

Signed-off-by: seungha son <seungha.son@samsung.com>
src/libnnstreamer-edge/nnstreamer-edge-internal.c

index d8da1a424e8e92884cf21a39d645e521079bfa19..c1b892bc21b732d5c730f11ccdc3fbb44e8e142a 100644 (file)
@@ -486,11 +486,25 @@ _nns_edge_transfer_data (nns_edge_conn_s * conn, nns_edge_data_h data_h,
 
   _nns_edge_cmd_init (&cmd, _NNS_EDGE_CMD_TRANSFER_DATA, client_id);
 
-  nns_edge_data_get_count (data_h, &cmd.info.num);
-  for (i = 0; i < cmd.info.num; i++)
-    nns_edge_data_get (data_h, i, &cmd.mem[i], &cmd.info.mem_size[i]);
+  ret = nns_edge_data_get_count (data_h, &cmd.info.num);
+  if (ret != NNS_EDGE_ERROR_NONE) {
+    nns_edge_loge ("Failed to get data count");
+    return ret;
+  }
 
-  nns_edge_data_serialize_meta (data_h, &cmd.meta, &cmd.info.meta_size);
+  for (i = 0; i < cmd.info.num; i++) {
+    ret = nns_edge_data_get (data_h, i, &cmd.mem[i], &cmd.info.mem_size[i]);
+    if (ret != NNS_EDGE_ERROR_NONE) {
+      nns_edge_loge ("Failed to get data");
+      return ret;
+    }
+  }
+
+  ret = nns_edge_data_serialize_meta (data_h, &cmd.meta, &cmd.info.meta_size);
+  if (ret != NNS_EDGE_ERROR_NONE) {
+    nns_edge_loge ("Failed to serialize meta");
+    return ret;
+  }
 
   ret = _nns_edge_cmd_send (conn, &cmd);
   SAFE_FREE (cmd.meta);