20406 Invalid read of size 8 20406 at 0x401814 Ordered list
20406 Invalid read of size 8 20406 at 0x401814 Ordered list clear in /home/kdrunz/krd48/Projects/ordered/build/ordered) 20406 by 0x4013 7D main in /hone/kdrunz/krd48/Projects/ordered/build/ordered) 20406 Address 0x5ab6118 is 8 bytes inside a block of size 16 free \'d 20406 at 0x4C2F24B: operator delete (void*) in /usr/lib/valgrind/vgpreload mem check- amd64-linux. so 20406 by 0x40180C: Ordered list clear in /home/kdrunz/krd48/ Projects/ordered/build/ordered) 20406 by 0x40137D: main in /home/kdrunz/krd48/Projects/ordered/build/ordered) Block was alloc d at 20406 20406 at ox4c2E0EF operator new (unsigned long) in /usr/lib/valgrind/vgpreload mem check- amd64-linux. so 20406 by 0x4015E7: Ordered list insert (int) in /home/kdrunz/krd48/Projects/ordered/build/ordered) 20406 by 0x40 10A: main in /home/kdrumz/krd48/Projects/ordered/build/ordered) 20406
Solution
Can you correct the clear method
void Ordered_list::clear(){
//delete all node
while(list!=NULL){
node * temp = list;
list = list->next; // Move list pointer forward and then delete temp
delete temp;
}
}
Let me know if there is any concern.
You are not freeing the memory in clear method.
