From 61c00ccae5d2913c32c075314b7b588b5880d7eb Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 11 Mar 2019 13:21:17 +0100 Subject: [PATCH] Fixed handling PATs that contain no PMTs --- HISTORY | 1 + pat.c | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/HISTORY b/HISTORY index 016fb6a6..ebf8ad64 100644 --- a/HISTORY +++ b/HISTORY @@ -9375,3 +9375,4 @@ Video Disk Recorder Revision History missing EPG data on channels from Canal Digital Norway (reported by Stian B. Barmen). - Fixed accessing the actual frontend on multi frontend devices (thanks to Helmut Binder). - Fixed opening the UDP port in peerdemo (thanks to Robert Hannebauer). +- Fixed handling PATs that contain no PMTs. diff --git a/pat.c b/pat.c index e40d2d5f..7e8b183a 100644 --- a/pat.c +++ b/pat.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: pat.c 4.3 2016/12/23 14:02:07 kls Exp $ + * $Id: pat.c 4.4 2019/03/11 13:20:27 kls Exp $ */ #include "pat.h" @@ -372,7 +372,8 @@ void cPatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length } if (numPmtEntries > 0 && pmtIndex < 0) pmtIndex = 0; - Add(GetPmtPid(pmtIndex), SI::TableIdPMT); + if (pmtIndex >= 0) + Add(GetPmtPid(pmtIndex), SI::TableIdPMT); patVersion = pat.getVersionNumber(); timer.Set(PMT_SCAN_TIMEOUT); }