1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed a possible NULL pointer access in cEITScanner::Process()

This commit is contained in:
Klaus Schmidinger 2004-01-10 16:52:01 +01:00
parent 0a62be0274
commit 43ca916c20
3 changed files with 16 additions and 11 deletions

View File

@ -586,6 +586,7 @@ Andreas Kool <akool@akool.de>
for reporting a problem with empty values in setup.conf for reporting a problem with empty values in setup.conf
for fixing detecting the /dev/videoN devices for GRAB in case there are others for fixing detecting the /dev/videoN devices for GRAB in case there are others
before the DVB devices before the DVB devices
for fixing a possible NULL pointer access in cEITScanner::Process()
Guy Roussin <guy.roussin@teledetection.fr> Guy Roussin <guy.roussin@teledetection.fr>
for suggesting not to display channel group delimiters without text for suggesting not to display channel group delimiters without text

View File

@ -2564,3 +2564,5 @@ Video Disk Recorder Revision History
to Marcel Wiesweg). to Marcel Wiesweg).
- In case of incomplete sections an error message is now logged only every 10 - In case of incomplete sections an error message is now logged only every 10
seconds. seconds.
- Fixed a possible NULL pointer access in cEITScanner::Process() (thanks to
Andreas Kool).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: eitscan.c 1.16 2004/01/05 09:51:25 kls Exp $ * $Id: eitscan.c 1.17 2004/01/10 16:50:51 kls Exp $
*/ */
#include "eitscan.h" #include "eitscan.h"
@ -116,6 +116,7 @@ void cEITScanner::Process(void)
if (Device != cDevice::PrimaryDevice() || (cDevice::NumDevices() == 1 && Setup.EPGScanTimeout && now - lastActivity > Setup.EPGScanTimeout * 3600)) { if (Device != cDevice::PrimaryDevice() || (cDevice::NumDevices() == 1 && Setup.EPGScanTimeout && now - lastActivity > Setup.EPGScanTimeout * 3600)) {
if (!(Device->Receiving(true) || Device->Replaying())) { if (!(Device->Receiving(true) || Device->Replaying())) {
cChannel *Channel = ScanData->GetChannel(); cChannel *Channel = ScanData->GetChannel();
if (Channel) {
//XXX if (Device->ProvidesTransponder(Channel)) { //XXX if (Device->ProvidesTransponder(Channel)) {
if ((!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= 0x0100) && Device->ProvidesTransponder(Channel)) { //XXX temporary for the 'sky' plugin if ((!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= 0x0100) && Device->ProvidesTransponder(Channel)) { //XXX temporary for the 'sky' plugin
if (Device == cDevice::PrimaryDevice() && !currentChannel) if (Device == cDevice::PrimaryDevice() && !currentChannel)
@ -131,6 +132,7 @@ void cEITScanner::Process(void)
} }
} }
} }
}
else else
break; break;
} }