mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed a possible access of invalid file handles in cSIProcessor::Action()
This commit is contained in:
parent
14790d6f7a
commit
a3efbc248a
@ -174,6 +174,7 @@ Stefan Huelswitt <huels@iname.com>
|
|||||||
for suggesting to add VDRVERSNUM to config.h
|
for suggesting to add VDRVERSNUM to config.h
|
||||||
for fixing a memory leak in cNonBlockingFileReader
|
for fixing a memory leak in cNonBlockingFileReader
|
||||||
for fixing an uninitialized variable in cDisplayChannel
|
for fixing an uninitialized variable in cDisplayChannel
|
||||||
|
for fixing a possible access of invalid file handles in cSIProcessor::Action()
|
||||||
|
|
||||||
Ulrich Röder <roeder@efr-net.de>
|
Ulrich Röder <roeder@efr-net.de>
|
||||||
for pointing out that there are channels that have a symbol rate higher than
|
for pointing out that there are channels that have a symbol rate higher than
|
||||||
|
2
HISTORY
2
HISTORY
@ -2224,3 +2224,5 @@ Video Disk Recorder Revision History
|
|||||||
- Single event timers are now deleted if the recording they are doing is
|
- Single event timers are now deleted if the recording they are doing is
|
||||||
deleted before the timer ends.
|
deleted before the timer ends.
|
||||||
- Fixed an uninitialized variable in cDisplayChannel (thanks to Stefan Huelswitt).
|
- Fixed an uninitialized variable in cDisplayChannel (thanks to Stefan Huelswitt).
|
||||||
|
- Fixed a possible access of invalid file handles in cSIProcessor::Action()
|
||||||
|
(thanks to Stefan Huelswitt).
|
||||||
|
13
eit.c
13
eit.c
@ -16,7 +16,7 @@
|
|||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (at your option) any later version. *
|
||||||
* *
|
* *
|
||||||
* $Id: eit.c 1.78 2003/05/18 14:10:25 kls Exp $
|
* $Id: eit.c 1.79 2003/05/29 15:04:10 kls Exp $
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#include "eit.h"
|
#include "eit.h"
|
||||||
@ -1236,10 +1236,17 @@ void cSIProcessor::Action()
|
|||||||
// wait until data becomes ready from the bitfilter
|
// wait until data becomes ready from the bitfilter
|
||||||
if (poll(pfd, NumUsedFilters, 1000) != 0)
|
if (poll(pfd, NumUsedFilters, 1000) != 0)
|
||||||
{
|
{
|
||||||
for (int a = 0; a < NumUsedFilters ; a++)
|
for (int aa = 0; aa < NumUsedFilters; aa++)
|
||||||
{
|
{
|
||||||
if (pfd[a].revents & POLLIN)
|
if (pfd[aa].revents & POLLIN)
|
||||||
{
|
{
|
||||||
|
int a;
|
||||||
|
for (a = 0; a < MAX_FILTERS; a++) {
|
||||||
|
if (pfd[aa].fd == filters[a].handle)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (a >= MAX_FILTERS || !filters[a].inuse) // filter no longer available
|
||||||
|
continue;
|
||||||
// read section
|
// read section
|
||||||
unsigned char buf[4096]; // max. allowed size for any EIT section
|
unsigned char buf[4096]; // max. allowed size for any EIT section
|
||||||
int r = safe_read(filters[a].handle, buf, sizeof(buf));
|
int r = safe_read(filters[a].handle, buf, sizeof(buf));
|
||||||
|
Loading…
Reference in New Issue
Block a user