Hallo,
ich finde schon seit geraumer Zeit "merkwürdige" coredumps im VDR-Verzeichnis.
Merkwürdig deshalb, weil ich mir keinen Reim drauf machen kann, was da passiert.
Folgender Code (tools.c):
Code
void cListBase::Clear(void)
{
while (objects) {
cListObject *object = objects->Next();
delete objects;
objects = object;
}
objects = lastObject = NULL;
count = 0;
} // <--- Zeile 1457
Der Backtrace dazu ist:
Code
#0 0x08100ba5 in cListBase::Clear (this=0x81e9044) at tools.c:1457
#1 0x08100887 in ~cListBase (this=0xb74704c8) at tools.c:1372
#2 0x080f301c in __tcf_0 () at status.c:14
#3 0xb7d67562 in exit () from /lib/libc.so.6
#4 0xb7d51568 in __libc_start_main () from /lib/libc.so.6
#5 0x080887a1 in _start ()
(gdb) print object
$2 = (cListObject *) 0x0
(gdb) print objects
$3 = (cListObject *) 0x9ed5a58
Ich verstehe nicht, was da crashen könnte?
Das while() müsste Nullpointer-Zugriffe doch abfangen?