]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Correct infinite loop in EIT code.
authorAdam Sutton <dev@adamsutton.me.uk>
Fri, 21 Sep 2012 21:08:17 +0000 (22:08 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Fri, 21 Sep 2012 21:08:17 +0000 (22:08 +0100)
src/epggrab/module/eit.c

index f3450f5a4bcb5c4882b1ed536b17d1af531a84f9..22cb7449198359142dbca9ec0776620c7b5ad182 100644 (file)
@@ -368,12 +368,14 @@ static int _eit_desc_content
 static int _eit_desc_parental
   ( epggrab_module_t *mod, uint8_t *ptr, int len, eit_event_t *ev )
 {
-  int cnt = 0, sum = 0;
+  int cnt = 0, sum = 0, i = 0;
   while (len > 3) {
-    if ( ptr[3] && ptr[3] < 0x10 ) {
+    if ( ptr[i] && ptr[i] < 0x10 ) {
       cnt++;
-      sum += (ptr[3] + 3);
+      sum += (ptr[i] + 3);
     }
+    len -= 4;
+    i   += 4;
   }
   // Note: we ignore the country code and average the lot!
   if (cnt)