From: Jaroslav Kysela Date: Thu, 22 May 2014 14:03:38 +0000 (+0200) Subject: IPTV: Fix the remaining memory leaks X-Git-Tag: v4.1~2066 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b8d4021015cc333f26e6df9ab0cd2b82688b365;p=thirdparty%2Ftvheadend.git IPTV: Fix the remaining memory leaks --- diff --git a/src/input/mpegts/iptv/iptv.c b/src/input/mpegts/iptv/iptv.c index 094de3ad8..986187bb8 100644 --- a/src/input/mpegts/iptv/iptv.c +++ b/src/input/mpegts/iptv/iptv.c @@ -564,6 +564,7 @@ void iptv_done ( void ) tvhpoll_destroy(iptv_poll); pthread_mutex_lock(&global_lock); mpegts_network_unregister_builder(&iptv_network_class); + mpegts_network_class_delete(&iptv_network_class, 0); mpegts_input_stop_all((mpegts_input_t*)iptv_input); mpegts_input_delete((mpegts_input_t *)iptv_input, 0); pthread_mutex_unlock(&global_lock); diff --git a/src/input/mpegts/iptv/iptv_mux.c b/src/input/mpegts/iptv/iptv_mux.c index 6edda5497..6732012df 100644 --- a/src/input/mpegts/iptv/iptv_mux.c +++ b/src/input/mpegts/iptv/iptv_mux.c @@ -74,10 +74,16 @@ iptv_mux_config_save ( mpegts_mux_t *mm ) static void iptv_mux_delete ( mpegts_mux_t *mm, int delconf ) { + iptv_mux_t *im = (iptv_mux_t*)mm; + if (delconf) hts_settings_remove("input/iptv/muxes/%s/config", idnode_uuid_as_str(&mm->mm_id)); + free(im->mm_iptv_url); + free(im->mm_iptv_interface); + free(im->mm_iptv_svcname); + mpegts_mux_delete(mm, delconf); } @@ -125,7 +131,7 @@ iptv_mux_create0 ( iptv_network_t *in, const char *uuid, htsmsg_t *conf ) (void)iptv_service_create0(im, 0, 0, f->hmf_name, e); } } - + htsmsg_destroy(c); return im; }