Fixed a possible access of a deleted object in the EIT scanner

This commit is contained in:
Klaus Schmidinger 2024-05-19 14:55:57 +02:00
parent f9260d0141
commit 9c64622718
2 changed files with 6 additions and 3 deletions

View File

@ -9919,6 +9919,7 @@ Video Disk Recorder Revision History
- A device is now always kept occupied if a timer is in VPS margin or needs the
transponder (thanks to Markus Ehrnsperger).
2024-04-03:
2024-05-24:
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed a possible access of a deleted object in the EIT scanner.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: eitscan.c 5.3 2024/03/10 11:16:29 kls Exp $
* $Id: eitscan.c 5.4 2024/05/19 14:55:57 kls Exp $
*/
#include "eitscan.h"
@ -147,7 +147,9 @@ void cEITScanner::Process(void)
for (int i = 0; i < cDevice::NumDevices(); i++) {
cDevice *Device = cDevice::GetDevice(i);
if (Device && Device->ProvidesEIT()) {
for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) {
cScanData *Next = NULL;
for (cScanData *ScanData = scanList->First(); ScanData; ScanData = Next) {
Next = scanList->Next(ScanData);
const cChannel *Channel = ScanData->GetChannel();
if (Channel) {
if (Device->IsTunedToTransponder(Channel))