Fixed an overflow of PIDs in a receiver

This commit is contained in:
Klaus Schmidinger 2015-09-16 14:08:42 +02:00
parent 09e64c24f2
commit 5d249c1ae5
3 changed files with 9 additions and 3 deletions

View File

@ -3429,3 +3429,6 @@ Janne P
Stefan Pöschel <basic.master@gmx.de>
for coding the AFFcleaner, parts of which were used to make the recorder skip empty
adaptation field TS packets
Robert Hannebauer <vdr@hannebauer.org>
for fixing an overflow of PIDs in a receiver

View File

@ -8831,3 +8831,4 @@ Video Disk Recorder Revision History
2015-09-16: Version 2.3.2
- Fixed a crash when deleting a recording (reported by Oliver Endriss).
- Fixed an overflow of PIDs in a receiver (thanks to Robert Hannebauer).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: receiver.c 3.3 2015/01/12 14:04:31 kls Exp $
* $Id: receiver.c 4.1 2015/09/16 11:19:47 kls Exp $
*/
#include "receiver.h"
@ -37,8 +37,10 @@ void cReceiver::SetPriority(int Priority)
bool cReceiver::AddPid(int Pid)
{
if (Pid) {
if (numPids < MAXRECEIVEPIDS)
pids[numPids++] = Pid;
if (numPids < MAXRECEIVEPIDS) {
if (!WantsPid(Pid))
pids[numPids++] = Pid;
}
else {
dsyslog("too many PIDs in cReceiver (Pid = %d)", Pid);
return false;