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@linuxtv.org [mailto:vdr-bounces@linuxtv.org] Im Auftrag von Hans-Werner Hilse Gesendet: Montag, 4. September 2006 17:42 An: vdr@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@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@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr