diff options
| author | Klaus Schmidinger <vdr@tvdr.de> | 2006-09-02 10:22:40 +0200 | 
|---|---|---|
| committer | Klaus Schmidinger <vdr@tvdr.de> | 2006-09-02 10:22:40 +0200 | 
| commit | 4c88f1da7e96572ad63e82b4756694abef0dd33a (patch) | |
| tree | 256dc009f312180e0e485089efd0d230e3668cd6 | |
| parent | 4ae577fcb4a323af74d05645e34f31f893b4c6e7 (diff) | |
| download | vdr-4c88f1da7e96572ad63e82b4756694abef0dd33a.tar.gz vdr-4c88f1da7e96572ad63e82b4756694abef0dd33a.tar.bz2 | |
Fixed the cTimer::operator=() so that it won't mess up the cListObject's pointers; fixed a memory leak in the cTimer::operator=() when using the 'aux' string
| -rw-r--r-- | CONTRIBUTORS | 2 | ||||
| -rw-r--r-- | HISTORY | 6 | ||||
| -rw-r--r-- | timers.c | 23 | 
3 files changed, 25 insertions, 6 deletions
| diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 357eb5d2..10bf779d 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1737,6 +1737,8 @@ Alexander Rieger <Alexander.Rieger@inka.de>   for fixing a typo in skins.h   for making cSkins::QueueMessage() called from a background thread with an empty   message clears all messages that have been previously queued by that thread + for reporting that the cTimer::operator=() messes up the cListObject's pointers + for reporting a memory leak in the cTimer::operator=() when using the 'aux' string  Philip Prindeville <philipp_subx@redfish-solutions.com>   for updates to 'sources.conf' @@ -4896,6 +4896,10 @@ Video Disk Recorder Revision History    detatching receivers. This change has caused some unwanted behavior, so further    testing is necessary. -2006-09-01: Version 1.4.2-1 +2006-09-02: Version 1.4.2-1  - Added LC_ALL to the checks for UTF-8 at startup (suggested by Matthias Schwarzott). +- Fixed the cTimer::operator=() so that it won't mess up the cListObject's pointers +  (reported by Alexander Rieger). +- Fixed a memory leak in the cTimer::operator=() when using the 'aux' string +  (reported by Alexander Rieger). @@ -4,7 +4,7 @@   * See the main source file 'vdr.c' for copyright information and   * how to reach the author.   * - * $Id: timers.c 1.62 2006/08/05 12:03:36 kls Exp $ + * $Id: timers.c 1.63 2006/09/02 10:20:36 kls Exp $   */  #include "timers.h" @@ -90,11 +90,24 @@ cTimer::~cTimer()  cTimer& cTimer::operator= (const cTimer &Timer)  { -  memcpy(this, &Timer, sizeof(*this)); -  if (aux) -     aux = strdup(aux); -  event = NULL; +  startTime    = Timer.startTime; +  stopTime     = Timer.stopTime;    lastSetEvent = 0; +  recording    = Timer.recording; +  pending      = Timer.pending; +  inVpsMargin  = Timer.inVpsMargin; +  flags        = Timer.flags; +  channel      = Timer.channel; +  day          = Timer.day; +  weekdays     = Timer.weekdays; +  start        = Timer.start; +  stop         = Timer.stop; +  priority     = Timer.priority; +  lifetime     = Timer.lifetime; +  strncpy(file, Timer.file, sizeof(file)); +  free(aux); +  aux = Timer.aux ? strdup(Timer.aux) : NULL; +  event = NULL;    return *this;  } | 
