Ik besef zijn er een aantal glibc gedetecteerd berichten, maar ik zou zeer dankbaar zijn als je een oplossing voor dit zou kunnen voorstellen:
*** glibc detected *** ./a.out: double free or corruption (top): 0x08901d70 ***
======= Backtrace: =========
/lib/libc.so.6(+0x6c501)[0x17c501]
/lib/libc.so.6(+0x6dd70)[0x17dd70]
/lib/libc.so.6(cfree+0x6d)[0x180e5d]
/lib/libc.so.6(fclose+0x14a)[0x16c81a]
./a.out[0x8048998]
/lib/libpthread.so.0(+0x5cc9)[0xc1fcc9]
/lib/libc.so.6(clone+0x5e)[0x1e069e]
======= Memory map: ========
Dit lijkt te gebeuren wanneer ik probeer om te bevrijden van een binaire zoekboom:
void freetree(BNODEPTR *root)
{
if(root!=NULL)
{
freetree(root->left);
freetree(root->right);
free(root);
}
}
De structuur typedef'd te BNODEPTR
struct bnode{
int info;
int count;
struct bnode* left;
struct bnode* right;
};
Ik roep de functie van de belangrijkste () met behulp van freetree (root).
De boom lijkt correct worden geïmplementeerd als een inorder traversal produceert een gesorteerde output.
De gehele code is op:













