summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2007-07-20 15:26:13 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2007-07-20 15:26:13 +0200
commit214c12289f58c90369fce58af20ae50a22fda34d (patch)
treed1cc4563df10519e666cf7613738bc0c5809683d
parenta8eaa2538c7bad811e41797508092ebbeca8da09 (diff)
downloadvdr-214c12289f58c90369fce58af20ae50a22fda34d.tar.gz
vdr-214c12289f58c90369fce58af20ae50a22fda34d.tar.bz2
Improved cControl::Launch() to keep 'control' from pointing to uninitialized memory
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--player.c5
3 files changed, 7 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 07c0add6..937e2a59 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1015,6 +1015,8 @@ Rolf Ahrenberg <rahrenbe@cc.hut.fi>
the plugins
for increasing the maximum number of DVB devices to 8
for suggesting to change the parameter "OSD font" to "Default font" in "Setup/OSD"
+ for improving cControl::Launch() to keep 'control' from pointing to uninitialized
+ memory
Ralf Klueber <ralf.klueber@vodafone.com>
for reporting a bug in cutting a recording if there is only a single editing mark
diff --git a/HISTORY b/HISTORY
index 50ca643a..317bfcbe 100644
--- a/HISTORY
+++ b/HISTORY
@@ -5288,3 +5288,5 @@ Video Disk Recorder Revision History
- Fixed a typo in the function name of cOsd::SetOsdPosition() and added a range
check to it (thanks to Christoph Haubrich).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
+- Improved cControl::Launch() to keep 'control' from pointing to uninitialized
+ memory (thanks to Rolf Ahrenberg).
diff --git a/player.c b/player.c
index f2930207..c96fc1ab 100644
--- a/player.c
+++ b/player.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: player.c 1.11 2006/01/06 11:30:07 kls Exp $
+ * $Id: player.c 1.12 2007/07/20 15:25:24 kls Exp $
*/
#include "player.h"
@@ -69,8 +69,9 @@ cControl *cControl::Control(void)
void cControl::Launch(cControl *Control)
{
cMutexLock MutexLock(&mutex);
- delete control;
+ cControl *c = control; // keeps control from pointing to uninitialized memory
control = Control;
+ delete c;
}
void cControl::Attach(void)