From 4f5a4da2a73af4c631505bb26a655f47f14d380f Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Fri, 21 Sep 2012 22:08:17 +0100 Subject: [PATCH] Correct infinite loop in EIT code. --- src/epggrab/module/eit.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/epggrab/module/eit.c b/src/epggrab/module/eit.c index f3450f5a..22cb7449 100644 --- a/src/epggrab/module/eit.c +++ b/src/epggrab/module/eit.c @@ -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)