webrtc_stats: Fix memory leak 96/286796/1 accepted/tizen/unified/20230117.140531
authorSangchul Lee <sc11.lee@samsung.com>
Fri, 13 Jan 2023 03:39:00 +0000 (12:39 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Fri, 13 Jan 2023 03:42:54 +0000 (12:42 +0900)
[Version] 0.3.282
[Issue type] Resource leak

Change-Id: Ia4d3a70b80a4eb69b0052dc36f9875b8598dd5d9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
packaging/capi-media-webrtc.spec
src/webrtc_stats.c

index 01c695a4dafbbff41ead85b0a7829b4f64afca1e..3d6014bd821da25f42bf85867c27aa6af0758675 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.3.281
+Version:    0.3.282
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index d80091003233fcb23c6f9336b991e53743ca60a4..8b9d1f8cf3cedde16846ea2cafae92284da6e3da 100644 (file)
@@ -468,8 +468,8 @@ static void __stats_codec_invoke_callback(const GstStructure *s, webrtc_stats_ty
 static void __stats_inbound_rtp_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
 {
        stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list, .export = true };
-       GstStructure *rtpjitterbuffer_stats;
-       GstStructure *rtpsource_stats;
+       g_autoptr(GstStructure) rtpjitterbuffer_stats = NULL;
+       g_autoptr(GstStructure) rtpsource_stats = NULL;
 
        RET_IF(user_data == NULL, "user_data is NULL");
 
@@ -491,14 +491,12 @@ static void __stats_inbound_rtp_invoke_callback(const GstStructure *s, webrtc_st
                return;
        LOG_DEBUG("gst-rtpsource-stats ---> ");
        gst_structure_foreach(rtpsource_stats, __stats_field_foreach_cb, &stats_userdata);
-       if (user_data->exit)
-               return;
 }
 
 static void __stats_outbound_rtp_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
 {
        stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list, .export = true };
-       GstStructure *rtpsource_stats;
+       g_autoptr(GstStructure) rtpsource_stats = NULL;
 
        RET_IF(user_data == NULL, "user_data is NULL");