[vdr] *** glibc detected *** double free or corruption 1.4.2-1
Patch
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Mon Sep 4 17:22:03 CEST 2006
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
More information about the vdr
mailing list