filter: handle error of convert_to_meta
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Wed, 11 Oct 2023 07:30:56 +0000 (16:30 +0900)
committerjaeyun-jung <39614140+jaeyun-jung@users.noreply.github.com>
Thu, 12 Oct 2023 04:26:14 +0000 (13:26 +0900)
gst_tensor_info_convert_to_meta may return error
if the configured output tensor is invalid.
Handle the error before feeding it to another function,
that may access uninitialized value.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
gst/nnstreamer/tensor_filter/tensor_filter.c

index f07334a..9c08d63 100644 (file)
@@ -771,8 +771,15 @@ gst_tensor_filter_transform (GstBaseTransform * trans,
 
     hsize = 0;
     if (out_flexible && !priv->prop.invoke_dynamic) {
-      gst_tensor_info_convert_to_meta (&prop->output_meta.info[i],
+      gboolean ret = FALSE;
+      ret = gst_tensor_info_convert_to_meta (&prop->output_meta.info[i],
           &out_meta[i]);
+      if (TRUE != ret) {
+        ml_loge_stacktrace
+            ("gst_tensor_filter_transform: The configured output tensor information is invalid, at %u'th output tensor\n",
+            i);
+        goto mem_map_error;
+      }
       hsize = gst_tensor_meta_info_get_header_size (&out_meta[i]);
     }