From d2ecf8bab4bf08735f2cde5d917167642e3a6a74 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 7 Sep 2018 19:57:16 +0200 Subject: [PATCH] descrambler: fix the double free --- src/descrambler/descrambler.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/descrambler/descrambler.c b/src/descrambler/descrambler.c index f6ea0fe6a..d0ff84f32 100644 --- a/src/descrambler/descrambler.c +++ b/src/descrambler/descrambler.c @@ -468,6 +468,7 @@ static void descrambler_notify_deliver( mpegts_service_t *t, descramble_info_t *di ) { streaming_message_t *sm; + struct descramble_info *di2; int r; lock_assert(&t->s_stream_mutex); @@ -480,7 +481,9 @@ descrambler_notify_deliver( mpegts_service_t *t, descramble_info_t *di ) } memcpy(t->s_descramble_info, di, sizeof(*di)); - sm = streaming_msg_create(SMT_DESCRAMBLE_INFO); + di2 = malloc(sizeof(*di2)); + memcpy(di2, di, sizeof(*di2)); + sm = streaming_msg_create_data(SMT_DESCRAMBLE_INFO, di2); sm->sm_data = di; streaming_service_deliver((service_t *)t, sm); -- 2.47.3