[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lost] [Patch] LostIO - Fix fuer vfstree_delete_node
Dieser Patch behebt einen schweren Bug in vfstree_delete_node. Dabei
wurde beim Löschen eines Nodes zwar der richtige gefreet, aber da der
Listen-Index schon inkrementiert wurde, der falsche gelöscht. Zusätzlich
wird noch ein Speicherleck beim löschen von Nodes gefixt.
Index: src/modules/lib/lostio/vfstree.c
===================================================================
--- src/modules/lib/lostio/vfstree.c (Revision 599)
+++ src/modules/lib/lostio/vfstree.c (Arbeitskopie)
@@ -282,12 +282,10 @@
int i = 0;
vfstree_node_t* node;
- while((node = (vfstree_node_t*) list_get_element_at(parent->children, i++)))
+ while((node = (vfstree_node_t*) list_get_element_at(parent->children, i))
+ && (node != node_del))
{
- if(node == node_del)
- {
- break;
- }
+ i++;
}
//Abbrechen falls der Knoten nicht gefunden wurde
@@ -303,6 +301,7 @@
parent->size--;
//TODO: Kinder-Knoten Loeschen
+ free(node->name);
free(node);