martin wrote:
I’ve problems when implementing the latest 1.4.2.-1 Patch. Here’s the problem: I used VDR-Admin to change a timer setting. Every time I try to save the changed timer, VDR crashes, please see attached strace.
I’ve checked against all 1.4.1-* versions, with bigpatch, without. It must be something with the latest 1.4.2-1 Patch.
The only thing I could imagine causing this is the change to the cTimer::operator=() function.
Please try adding some debug output before and after the free(aux) calls, as in:
cTimer::~cTimer() { fprint(stderr, "A %p\n", aux); free(aux); fprint(stderr, "B\n"); }
cTimer& cTimer::operator= (const cTimer &Timer) { 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)); fprint(stderr, "C %p\n", aux); free(aux); fprint(stderr, "D\n"); aux = Timer.aux ? strdup(Timer.aux) : NULL; event = NULL; return *this; }
Let me know what the last output is.
Klaus