]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Fix the memory leak in the udp multirecv
authorJaroslav Kysela <perex@perex.cz>
Thu, 8 May 2014 20:41:44 +0000 (22:41 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 8 May 2014 21:29:58 +0000 (23:29 +0200)
src/tvheadend.h
src/udp.c

index 9076710c0e498f6dec1277f275fab5569125ea7c..91b0d831b2a317ffb750941d13a3dfc112228fe2 100644 (file)
@@ -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)
index 35ec2fcf15ad4b41cb461515a7d1c732cd128c1c..aeaaad526e296adc5964588fa72d089e0f9d168d 100644 (file)
--- 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;
 }