From 780b2eff1636985b900db6d0908cc6d3d395f409 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sun, 15 Jan 2012 18:34:41 +0200 Subject: SCI: Plug a leak in ResourceManager::detectSciVersion() Many thanks to digitall for finding this one --- engines/sci/resource.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'engines/sci/resource.cpp') diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index 9171e5e5d9..c3bd03bac3 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -2200,13 +2200,16 @@ void ResourceManager::detectSciVersion() { // Handle SCI32 versions here if (_volVersion >= kResVersionSci2) { Common::List *heaps = listResources(kResourceTypeHeap); + bool hasHeapResources = !heaps->empty(); + delete heaps; + // SCI2.1/3 and SCI1 Late resource maps are the same, except that // SCI1 Late resource maps have the resource types or'd with // 0x80. We differentiate between SCI2 and SCI2.1/3 based on that. if (_mapVersion == kResVersionSci1Late) { s_sciVersion = SCI_VERSION_2; return; - } else if (!heaps->empty()) { + } else if (hasHeapResources) { s_sciVersion = SCI_VERSION_2_1; return; } else { -- cgit v1.2.3