From: Jaroslav Kysela Date: Thu, 8 May 2014 20:41:44 +0000 (+0200) Subject: Fix the memory leak in the udp multirecv X-Git-Tag: v4.1~2110 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=86a134481dfb09448febbf2afabb18094de0a16b;p=thirdparty%2Ftvheadend.git Fix the memory leak in the udp multirecv --- diff --git a/src/tvheadend.h b/src/tvheadend.h index 9076710c0..91b0d831b 100644 --- a/src/tvheadend.h +++ b/src/tvheadend.h @@ -102,7 +102,7 @@ typedef struct source_info { static inline void lock_assert0(pthread_mutex_t *l, const char *file, int line) { -#if ENABLE_LOCKOWNER +#if 0 && ENABLE_LOCKOWNER assert(l->__data.__owner == syscall(SYS_gettid)); #else if(pthread_mutex_trylock(l) == EBUSY) diff --git a/src/udp.c b/src/udp.c index 35ec2fcf1..aeaaad526 100644 --- a/src/udp.c +++ b/src/udp.c @@ -461,9 +461,10 @@ udp_multirecv_init( udp_multirecv_t *um, int packets, int psize ) void udp_multirecv_free( udp_multirecv_t *um ) { - free(um->um_msg); um->um_msg = NULL; - free(um->um_iovec); um->um_iovec = NULL; - free(um->um_data); um->um_data = NULL; + free(um->um_msg); um->um_msg = NULL; + free(um->um_riovec); um->um_riovec = NULL; + free(um->um_iovec); um->um_iovec = NULL; + free(um->um_data); um->um_data = NULL; um->um_psize = 0; um->um_packets = 0; }