From 6ef9697b0028d73bf381f4b2dde87dd407c552bc Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sat, 26 Oct 2013 05:03:55 +0200 Subject: [PATCH] boot loader: packagefs: Fix memory leak on unmount The PackageNodes weren't destroyed. --- .../boot/loader/file_systems/packagefs/packagefs.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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);