From 214c12289f58c90369fce58af20ae50a22fda34d Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 20 Jul 2007 15:26:13 +0200 Subject: [PATCH] Improved cControl::Launch() to keep 'control' from pointing to uninitialized memory --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ player.c | 5 +++-- 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 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 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)