From: Jaroslav Kysela Date: Fri, 7 Sep 2018 17:57:16 +0000 (+0200) Subject: descrambler: fix the double free X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2ecf8bab4bf08735f2cde5d917167642e3a6a74;p=thirdparty%2Ftvheadend.git descrambler: fix the double free --- 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);