From 4e620de1928a0e166b536403c008e7864839f017 Mon Sep 17 00:00:00 2001 From: Eunhye Choi Date: Thu, 10 Oct 2019 14:47:11 +0900 Subject: [PATCH] release signal before destroy pipeline - resolve ASAN issue about heap-use-after-free - freed mem is accessed by no-more-pads/pad-added. [Version] 0.1.31 Change-Id: Ie0295bc40b9c0d5e4b0781a4d3b984c4f5285c64 --- packaging/capi-mediademuxer.spec | 2 +- src/port_gst/mediademuxer_port_gst.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packaging/capi-mediademuxer.spec b/packaging/capi-mediademuxer.spec index a61f42c..9d70954 100644 --- a/packaging/capi-mediademuxer.spec +++ b/packaging/capi-mediademuxer.spec @@ -1,6 +1,6 @@ Name: capi-mediademuxer Summary: A Media Demuxer library in Tizen Native API -Version: 0.1.30 +Version: 0.1.31 Release: 1 Group: Multimedia/API License: Apache-2.0 diff --git a/src/port_gst/mediademuxer_port_gst.c b/src/port_gst/mediademuxer_port_gst.c index 6c1cb1c..7812329 100644 --- a/src/port_gst/mediademuxer_port_gst.c +++ b/src/port_gst/mediademuxer_port_gst.c @@ -1836,6 +1836,12 @@ static int gst_demuxer_unprepare(MMHandleType pHandle) MEDIADEMUXER_CHECK_NULL(pHandle); mdgst_handle_t *gst_handle = (mdgst_handle_t *)pHandle; + /* disconnect signal handler */ + if (gst_handle->demux) { + g_signal_handlers_disconnect_by_func(gst_handle->demux, __gst_on_pad_added, gst_handle); + g_signal_handlers_disconnect_by_func(gst_handle->demux, __gst_no_more_pad, gst_handle); + } + /*Modification : Fix pipeline state change was block by appsink When EOS received and appsink also has many datas*/ int indx = 0; track *atrack = gst_handle->info.head; -- 2.7.4