summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranbr <vdr07@deltab.de>2010-10-05 19:25:17 +0200
committeranbr <vdr07@deltab.de>2010-10-05 19:25:17 +0200
commit7137af32b85b4201b6948ce11ba21ce1849836bd (patch)
treefe99bd54fb639c1bd7bc967b0c5af1463f968eb7
parent7af332fd26e257d780412b8ae44632ca98282575 (diff)
downloadvdr-plugin-targavfd-7137af32b85b4201b6948ce11ba21ce1849836bd.tar.gz
vdr-plugin-targavfd-7137af32b85b4201b6948ce11ba21ce1849836bd.tar.bz2
Fix a segmentation fault on replay (Bug #432)
-rw-r--r--watch.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/watch.c b/watch.c
index 5473aba..19c21b1 100644
--- a/watch.c
+++ b/watch.c
@@ -104,6 +104,10 @@ cVFDWatch::~cVFDWatch()
delete replayTitle;
replayTitle = NULL;
}
+ if(replayTitleLast) {
+ delete replayTitleLast;
+ replayTitleLast = NULL;
+ }
if(replayTime) {
delete replayTime;
replayTime = NULL;
@@ -416,7 +420,13 @@ bool cVFDWatch::Replay() {
if(!replayTitleLast
|| !replayTitle
|| strcmp(*replayTitleLast,*replayTitle)) {
- replayTitleLast = replayTitle;
+ if(replayTitleLast) {
+ delete replayTitleLast;
+ replayTitleLast = NULL;
+ }
+ if(replayTitle) {
+ replayTitleLast = new cString(*replayTitle);
+ }
return true;
}
return false;