AW: [vdr] *** glibc detected *** double free or corruption 1.4.2-1 Patch

martin martin at
Mon Sep 4 18:15:07 CEST 2006


implemented the following, but it did not solve the issue :-(


  if(aux) free(aux);


  lifetime     = Timer.lifetime;
  strncpy(file, Timer.file, sizeof(file));
  if (aux) free(aux);
  aux = Timer.aux ? strdup(Timer.aux) : NULL;

Klaus's debugging statements did not work, as gcc refuses work ..

g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD 
g++ -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" 
g++ timers.c
timers.c: In destructor 'virtual cTimer::~cTimer()':
timers.c:88: error: 'fprint' was not declared in this scope
timers.c: In member function 'cTimer& cTimer::operator=(const cTimer&)':
timers.c:111: error: 'fprint' was not declared in this scope
make: *** [timers.o] Error 1

and thanks for your effort

-----Ursprüngliche Nachricht-----
Von: vdr-bounces at [mailto:vdr-bounces at] Im Auftrag von
Hans-Werner Hilse
Gesendet: Montag, 4. September 2006 17:42
An: vdr at
Betreff: Re: [vdr] *** glibc detected *** double free or corruption 1.4.2-1


On Mon, 4 Sep 2006 17:09:12 +0200
"martin" <martin at> 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.

There had been a "free(aux);" added in that patch in timers.c in the
assignment operator ("=") function. Probably it didn't took an earlier
(conditional?) free() into account and such rans into a glibc-assertion.

Changing the "free(aux);" to "if(aux) free(aux);" would probably care for
that (resembling the earlier behaviour).


vdr mailing list
vdr at

More information about the vdr mailing list