From: Kyle Sanderson Date: Sat, 27 Jun 2015 01:37:47 +0000 (-0700) Subject: Fix memleaks in descrambler and utils X-Git-Tag: v4.2.1~2218 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2f1277babd22715eeda836d4bcdfcf12fc4092ea;p=thirdparty%2Ftvheadend.git Fix memleaks in descrambler and utils --- diff --git a/src/descrambler/descrambler.c b/src/descrambler/descrambler.c index 6f6e3c522..c0fa6a8f6 100644 --- a/src/descrambler/descrambler.c +++ b/src/descrambler/descrambler.c @@ -217,8 +217,10 @@ fin: uint16_t sid = ((mpegts_service_t *)td->td_service)->s_dvb_service_id; uint32_t pos = 0, crc; mpegts_mux_t *mm = ((mpegts_service_t *)td->td_service)->s_dvb_mux; - if (!mm->mm_active) + if (!mm->mm_active) { + free(tp); return; + } pthread_mutex_lock(&mm->mm_active->mmi_input->mi_output_lock); tp->pos = mm->mm_tsdebug_pos; memset(tp->pkt, 0xff, sizeof(tp->pkt)); diff --git a/src/utils.c b/src/utils.c index 8bea6ff05..554717bea 100644 --- a/src/utils.c +++ b/src/utils.c @@ -714,8 +714,10 @@ deferred_unlink(const char *filename, const char *rootdir) tasklet_arm_alloc(deferred_unlink_cb, s); else { du = calloc(1, sizeof(*du)); - if (du == NULL) + if (du == NULL) { + free(s); return -ENOMEM; + } du->filename = s; du->rootdir = strdup(rootdir); tasklet_arm_alloc(deferred_unlink_dir_cb, du);