]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mpegts: fix misuse of protected structure, can result in crash
authorAdam Sutton <dev@adamsutton.me.uk>
Wed, 16 Apr 2014 09:44:27 +0000 (10:44 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Wed, 16 Apr 2014 09:44:27 +0000 (10:44 +0100)
src/input/mpegts/mpegts_input.c

index 8d9a601856b81662b059e7b9c4023b614046e4f5..0a0595568ca88f32862575f7eeef91dee93eeb4b 100644 (file)
@@ -480,14 +480,14 @@ mpegts_input_recv_packets
     mp->mp_len  = p * 188;
     memcpy(mp->mp_data, tsb, mp->mp_len);
 
+    len -= mp->mp_len;
+    off += mp->mp_len;
+
     pthread_mutex_lock(&mi->mi_input_lock);
     if (TAILQ_FIRST(&mi->mi_input_queue) == NULL)
       pthread_cond_signal(&mi->mi_input_cond);
     TAILQ_INSERT_TAIL(&mi->mi_input_queue, mp, mp_link);
     pthread_mutex_unlock(&mi->mi_input_lock);
-
-    len -= mp->mp_len;
-    off += mp->mp_len;
   }
 
   /* Adjust buffer */