From: Sangchul Lee Date: Tue, 31 Aug 2021 05:43:29 +0000 (+0900) Subject: webrtc_test: Add missing initializing variables after free() X-Git-Tag: submit/tizen/20210901.024939^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f814c2ead419fc2c7dd69ff5d06bf7a6b90f81ac;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_test: Add missing initializing variables after free() It caused a double-free crash when negotiating again with new handle even if the 'd'(destroy) menu was executed for the previous handle without program exit. [Version] 0.2.90 [Issue Type] Bug fix Change-Id: I48df929d6744d434f23f7d550d692e92b0b61609 Signed-off-by: Sangchul Lee --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 7b098fb4..37249099 100644 --- a/packaging/capi-media-webrtc.spec +++ b/packaging/capi-media-webrtc.spec @@ -1,6 +1,6 @@ Name: capi-media-webrtc Summary: A WebRTC library in Tizen Native API -Version: 0.2.89 +Version: 0.2.90 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/test/webrtc_test.c b/test/webrtc_test.c index 5f225e0b..c38e9175 100644 --- a/test/webrtc_test.c +++ b/test/webrtc_test.c @@ -444,13 +444,20 @@ static void _webrtc_destroy(int index) g_print("webrtc[%p, index:%d] is destroyed\n", g_conns[index].webrtc, index); g_conns[index].webrtc = NULL; - if (g_conns[index].offer) + if (g_conns[index].offer) { free(g_conns[index].offer); - if (g_conns[index].answer) + g_conns[index].offer = NULL; + } + if (g_conns[index].answer) { free(g_conns[index].answer); - if (g_conns[index].remote_desc) + g_conns[index].answer = NULL; + } + if (g_conns[index].remote_desc) { free(g_conns[index].remote_desc); + g_conns[index].remote_desc = NULL; + } g_list_free_full(g_conns[index].ice_candidates, free); + g_conns[index].ice_candidates = NULL; for (i = 0; i < MAX_CHANNEL_LEN; i++) { if (g_conns[index].channels[i] != NULL)