diff options
| -rw-r--r-- | HISTORY | 1 | ||||
| -rw-r--r-- | txtrecv.c | 11 | ||||
| -rw-r--r-- | txtrecv.h | 1 |
3 files changed, 3 insertions, 10 deletions
@@ -4,6 +4,7 @@ VDR Plugin 'osdteletext' Revision History 20xx-xx-xx: version x.x.x - Updated Italian translation provided by Diego Pierotto (Closes #151) - Fix valid page number check in TeletextBrowser::ExecuteAction (Closes #154) +- Fixed possible segfault (Closes #179) - (Thx to Manuel Reimer) 2009-06-02: version 0.8.3 - Updated Ukrainian translation provided by Yarema P. aka Knedlyk (Closes #133) @@ -583,15 +583,8 @@ void cTxtReceiver::Activate(bool On) void cTxtReceiver::Receive(uchar *Data, int Length) { - int len = Length+60; - - if (!buffer.Check(len)) { - // Buffer overrun - buffer.Signal(); - return; - } - cFrame *frame=new cFrame(Data, len); - if (frame && !buffer.Put(frame)) { + cFrame *frame=new cFrame(Data, Length); + if (!buffer.Put(frame)) { // Buffer overrun delete frame; buffer.Signal(); @@ -157,7 +157,6 @@ class cRingTxtFrames : public cRingBufferFrame { ~cRingTxtFrames() { Clear(); }; void Wait(void) { WaitForGet(); }; void Signal(void) { EnableGet(); }; - bool Check(int Size) { return (Free() >= Size); }; }; class cTxtReceiver : public cReceiver, public cThread { |
