Fixed faulty calculation of section length

This commit is contained in:
Klaus Schmidinger 2003-04-27 14:46:14 +02:00
parent 3874eab49b
commit a804b990fe
3 changed files with 5 additions and 3 deletions

View File

@ -551,11 +551,12 @@ Walter Stroebel <walter.stroebel@lifeline.nl>
Paul Gohn <pgohn@nexgo.de>
for adding 'Hrvatska radiotelevizija' and 'RTV Slovenija' to ca.conf
Teemu Rantanen <tvr@iki.fi>
Teemu Rantanen <teemu.rantanen@tekla.com>
for increased the maximum possible packet size in remux.c to avoid corrupted streams
with broadcasters that send extremely large PES packets
for adding TS error checking to remux.c
for pinpointing a problem with excessive memmove() calls in 'Transfer Mode'
for fixing faulty calculation of section length in eit.c
Jan Ekholm <chakie@infa.abo.fi>
for adding/improving some Swedish language OSD texts

View File

@ -2083,3 +2083,4 @@ Video Disk Recorder Revision History
- Reduced the time to wait for EPG data when starting a recording to 3 seconds.
- The new SVDRP command STAT can be used to request information about the disk
usage (thanks to Thomas Koch).
- Fixed faulty calculation of section length in eit.c (thanks to Teemu Rantanen).

4
eit.c
View File

@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: eit.c 1.73 2003/04/25 14:45:32 kls Exp $
* $Id: eit.c 1.74 2003/04/27 14:41:36 kls Exp $
***************************************************************************/
#include "eit.h"
@ -1232,7 +1232,7 @@ void cSIProcessor::Action()
int r = safe_read(filters[a].handle, buf, sizeof(buf));
if (r > 3) // minimum number of bytes necessary to get section length
{
int seclen = ((buf[1] & 0x0F) << 8) | (buf[2] & 0xFF) + 3;
int seclen = (((buf[1] & 0x0F) << 8) | (buf[2] & 0xFF)) + 3;
int pid = filters[a].pid;
if (seclen == r)
{