mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-26 23:12:44 +02:00
cDemux::sectionFilter: fix invalid length calculation
Origin commit data
------------------
Branch: master
Commit: 74cb82e66c
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2013-02-24 (Sun, 24 Feb 2013)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -277,13 +277,12 @@ bool cDemux::sectionFilter(unsigned short pid, const unsigned char * const filte
|
||||
const unsigned char * const mask, int len, int timeout,
|
||||
const unsigned char * const negmask)
|
||||
{
|
||||
int length = len;
|
||||
memset(&s_flt, 0, sizeof(s_flt));
|
||||
|
||||
if (len > DMX_FILTER_SIZE)
|
||||
{
|
||||
lt_info("%s #%d: len too long: %d, DMX_FILTER_SIZE %d\n", __func__, num, len, DMX_FILTER_SIZE);
|
||||
length = DMX_FILTER_SIZE;
|
||||
len = DMX_FILTER_SIZE;
|
||||
}
|
||||
s_flt.pid = pid;
|
||||
s_flt.timeout = timeout;
|
||||
|
@@ -247,13 +247,12 @@ bool cDemux::sectionFilter(unsigned short pid, const unsigned char * const filte
|
||||
const unsigned char * const mask, int len, int timeout,
|
||||
const unsigned char * const negmask)
|
||||
{
|
||||
int length = len;
|
||||
memset(&s_flt, 0, sizeof(s_flt));
|
||||
|
||||
if (len > DMX_FILTER_SIZE)
|
||||
{
|
||||
lt_info("%s #%d: len too long: %d, DMX_FILTER_SIZE %d\n", __func__, num, len, DMX_FILTER_SIZE);
|
||||
length = DMX_FILTER_SIZE;
|
||||
len = DMX_FILTER_SIZE;
|
||||
}
|
||||
s_flt.pid = pid;
|
||||
s_flt.timeout = timeout;
|
||||
|
@@ -357,7 +357,6 @@ bool cDemux::sectionFilter(unsigned short pid, const unsigned char * const filte
|
||||
const unsigned char * const mask, int len, int timeout,
|
||||
const unsigned char * const negmask)
|
||||
{
|
||||
int length = len;
|
||||
memset(&s_flt, 0, sizeof(s_flt));
|
||||
|
||||
_open();
|
||||
@@ -365,7 +364,7 @@ bool cDemux::sectionFilter(unsigned short pid, const unsigned char * const filte
|
||||
if (len > DMX_FILTER_SIZE)
|
||||
{
|
||||
lt_info("%s #%d: len too long: %d, DMX_FILTER_SIZE %d\n", __func__, num, len, DMX_FILTER_SIZE);
|
||||
length = DMX_FILTER_SIZE;
|
||||
len = DMX_FILTER_SIZE;
|
||||
}
|
||||
s_flt.pid = pid;
|
||||
s_flt.timeout = timeout;
|
||||
|
@@ -349,12 +349,12 @@ bool cDemux::sectionFilter(unsigned short pid, const unsigned char * const filte
|
||||
s_flt.filter[0] = filter[0];
|
||||
s_flt.mask[0] = mask[0];
|
||||
s_flt.timeout = timeout;
|
||||
memcpy(&s_flt.filter[3], &filter[1], len - 1);
|
||||
memcpy(&s_flt.mask[3], &mask[1], len - 1);
|
||||
memcpy(&s_flt.filter[3], &filter[1], length - 1);
|
||||
memcpy(&s_flt.mask[3], &mask[1], length - 1);
|
||||
if (negmask != NULL)
|
||||
{
|
||||
s_flt.positive[0] = negmask[0];
|
||||
memcpy(&s_flt.positive[3], &negmask[1], len - 1);
|
||||
memcpy(&s_flt.positive[3], &negmask[1], length - 1);
|
||||
}
|
||||
|
||||
s_flt.flags = XPDF_IMMEDIATE_START;
|
||||
|
Reference in New Issue
Block a user