From: Felix Domke Date: Tue, 18 Nov 2008 21:20:15 +0000 (+0100) Subject: Don't search past buffer in TS I-frame cutter. X-Git-Tag: 2.6.0~586^2~1 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/6034a35be47b6e1e4f0599547fd4228e7ff0b4fd Don't search past buffer in TS I-frame cutter. closes #66. --- diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index e04caa00..66ec1d2d 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -982,7 +982,7 @@ int eDVBChannelFilePush::filterRecordData(const unsigned char *_data, int len, s // eDebug("filterRecordData, size=%d (mod 188=%d), first byte is %02x", len, len %188, data[0]); unsigned char *d = data; - while ((d = (unsigned char*)memmem(d, data + len - d, "\x00\x00\x01", 3))) + while ((d + 3 < data + len) && (d = (unsigned char*)memmem(d, data + len - d, "\x00\x00\x01", 3))) { int offset = d - data; int ts_offset = offset - offset % 188; /* offset to the start of TS packet */