diff --git a/src/system/boot/loader/file_systems/packagefs/packagefs.cpp b/src/system/boot/loader/file_systems/packagefs/packagefs.cpp index 3ca86a4030..1ab70be2cc 100644 --- a/src/system/boot/loader/file_systems/packagefs/packagefs.cpp +++ b/src/system/boot/loader/file_systems/packagefs/packagefs.cpp @@ -72,7 +72,7 @@ struct PackageNode : DoublyLinkedListLinkImpl { fModifiedTime.tv_nsec = 0; } - ~PackageNode() + virtual ~PackageNode() { free(fName); } @@ -194,6 +194,12 @@ struct PackageDirectory : PackageNode { { } + ~PackageDirectory() + { + while (PackageNode* node = fEntries.RemoveHead()) + delete node; + } + void AddChild(PackageNode* node) { fEntries.Add(node);