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

martin martin at air-maxx.net
Mon Sep 4 18:16:32 CEST 2006


Hi,

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


timers.c 

cTimer::~cTimer()
{
  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++ -D_GNU_SOURCE -DVIDEODIR=\"/video\" -DPLUGINDIR=\"./PLUGINS/lib\"  
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


Regards,
and thanks for your effort


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

Hi,

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

-hwh

_______________________________________________
vdr mailing list
vdr at linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr




More information about the vdr mailing list