Fix coverity issue 80/314280/1 accepted/tizen/unified/20240712.160110 accepted/tizen/unified/dev/20240715.080528 accepted/tizen/unified/toolchain/20240812.133439 accepted/tizen/unified/x/20240715.042532 accepted/tizen/unified/x/asan/20240813.231922
authorJeongmo Yang <jm80.yang@samsung.com>
Wed, 10 Jul 2024 01:00:06 +0000 (10:00 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Wed, 10 Jul 2024 01:00:36 +0000 (10:00 +0900)
- Unchecked return value

[Version] 1.0.2
[Issue Type] Coverity

Change-Id: I366e7d04a2f3c79b194e7fd21e4604e4825f64bb
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
packaging/capi-media-codec.spec
src/media_codec_port_gst.c

index e41e2a0c333d6a23ddc5c9fd728868877cdb7df9..deae11cef6432c23b49e90667ae88349d59e694c 100644 (file)
@@ -4,7 +4,7 @@
 
 Name:       capi-media-codec
 Summary:    A Media Codec library in Tizen Native API
-Version:    1.0.1
+Version:    1.0.2
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 1fd149d2b4ad30c17eca3d9f71a6930fcff1a4bf..502221daa513ab902f4e0da31a92d2f2b66b8214 100644 (file)
@@ -258,26 +258,33 @@ static int __mc_fill_input_buffer_with_adec_packet(mc_gst_core_t *core, media_pa
                return MC_ERROR;
        }
 
-       if (buf_data != NULL) {
-               media_packet_get_codec_data(packet, &codec_data, &codec_size);
-
-               if (!codec_data && codec_config) {
-                       gst_buffer_append_memory(mcbuffer->buffer,
-                                       gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY, buf_data, buf_size, 0,
-                                               buf_size, NULL, NULL));
-                       LOGD("csd packet data apended");
-               } else {
-                       gst_buffer_append_memory(mcbuffer->buffer,
-                                       gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY, buf_data, buf_size, 0,
-                                               buf_size, mcbuffer, (GDestroyNotify)__mc_input_buffer_finalize_cb));
-                       LOGD("packet data apended");
-               }
+       if (buf_data == NULL) {
+               LOGE("no buffer data");
+               return MC_ERROR;
+       }
 
-               if (codec_data)
-                       free(codec_data);
+       ret = media_packet_get_codec_data(packet, &codec_data, &codec_size);
+       if (ret != MEDIA_PACKET_ERROR_NONE) {
+               LOGE("get codec data failed[0x%x]", ret);
+               return MC_ERROR;
        }
 
-       return ret;
+       if (!codec_data && codec_config) {
+               gst_buffer_append_memory(mcbuffer->buffer,
+                               gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY, buf_data, buf_size, 0,
+                                       buf_size, NULL, NULL));
+               LOGD("csd packet data apended");
+       } else {
+               gst_buffer_append_memory(mcbuffer->buffer,
+                               gst_memory_new_wrapped(GST_MEMORY_FLAG_READONLY, buf_data, buf_size, 0,
+                                       buf_size, mcbuffer, (GDestroyNotify)__mc_input_buffer_finalize_cb));
+               LOGD("packet data apended");
+       }
+
+       if (codec_data)
+               free(codec_data);
+
+       return MC_ERROR_NONE;
 }
 
 static int __mc_fill_input_buffer_with_venc_packet(mc_gst_core_t *core, media_packet_h packet, GstMCBuffer *mcbuffer)