summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranbr <vdr07@deltab.de>2010-10-05 19:29:03 +0200
committeranbr <vdr07@deltab.de>2010-10-05 19:29:03 +0200
commitae3e7d628a9d9d0f09a277a65a92b3b652cdf30b (patch)
treefdeb0afdc9f9aab4eb5a3a38012c1f50d85cca4d
parent995d4cd3da29bc8d43546427ead6ad98fa3ce7bd (diff)
downloadvdr-plugin-imonlcd-ae3e7d628a9d9d0f09a277a65a92b3b652cdf30b.tar.gz
vdr-plugin-imonlcd-ae3e7d628a9d9d0f09a277a65a92b3b652cdf30b.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 d29d381..f8118d0 100644
--- a/watch.c
+++ b/watch.c
@@ -106,6 +106,10 @@ ciMonWatch::~ciMonWatch()
delete replayTitle;
replayTitle = NULL;
}
+ if(replayTitleLast) {
+ delete replayTitleLast;
+ replayTitleLast = NULL;
+ }
if(replayTime) {
delete replayTime;
replayTime = NULL;
@@ -518,7 +522,13 @@ bool ciMonWatch::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;