summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoretobi <git@e-tobi.net>2009-10-20 20:42:47 +0200
committeretobi <git@e-tobi.net>2009-10-20 20:52:44 +0200
commitcab8a4b5868bfa9d0649d0d3dcfd3fb1f73fbc97 (patch)
treea71d3b0247bdffe6e9f9f6b53774055233ae8b67
parentb650a84e6eb3630f6991c208b8aa96f42ec3565e (diff)
parenta5a7762f7efae92b11a956d7d7192126c89eda54 (diff)
downloadvdr-plugin-osdteletext-cab8a4b5868bfa9d0649d0d3dcfd3fb1f73fbc97.tar.gz
vdr-plugin-osdteletext-cab8a4b5868bfa9d0649d0d3dcfd3fb1f73fbc97.tar.bz2
Merged fix for #179
-rw-r--r--HISTORY1
-rw-r--r--txtrecv.c11
-rw-r--r--txtrecv.h1
3 files changed, 3 insertions, 10 deletions
diff --git a/HISTORY b/HISTORY
index c61e0e6..2a1a911 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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)
diff --git a/txtrecv.c b/txtrecv.c
index 19bec60..1d4c66a 100644
--- a/txtrecv.c
+++ b/txtrecv.c
@@ -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();
diff --git a/txtrecv.h b/txtrecv.h
index ec274ea..cebf375 100644
--- a/txtrecv.h
+++ b/txtrecv.h
@@ -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 {