git.cweiske.de
/
enigma2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d924772
)
Don't search past buffer in TS I-frame cutter.
author
Felix Domke
<tmbinc@elitedvb.net>
Tue, 18 Nov 2008 21:20:15 +0000
(22:20 +0100)
committer
Felix Domke
<tmbinc@elitedvb.net>
Tue, 18 Nov 2008 21:20:15 +0000
(22:20 +0100)
closes #66.
lib/dvb/dvb.cpp
patch
|
blob
|
history
diff --git
a/lib/dvb/dvb.cpp
b/lib/dvb/dvb.cpp
index e04caa00efd8ac3e79aec326b515abaa2c2eca75..66ec1d2de9c28ea6b14a55e56518c7766004699a 100644
(file)
--- 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;
// 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 */
{
int offset = d - data;
int ts_offset = offset - offset % 188; /* offset to the start of TS packet */