Fixed leak of unloaded module lists.

BUG=

Change-Id: I6d03820082f793a2eac3c3c2abd184b4acf66aa4
Reviewed-on: https://chromium-review.googlesource.com/438755
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
diff --git a/src/processor/minidump_processor_unittest.cc b/src/processor/minidump_processor_unittest.cc
index d9d974d..83682a5 100644
--- a/src/processor/minidump_processor_unittest.cc
+++ b/src/processor/minidump_processor_unittest.cc
@@ -84,6 +84,7 @@
  public:
   MockMinidumpUnloadedModuleList() : MinidumpUnloadedModuleList(NULL) {}
 
+  ~MockMinidumpUnloadedModuleList() {}
   MOCK_CONST_METHOD0(Copy, CodeModules*());
   MOCK_CONST_METHOD1(GetModuleForAddress,
                      const MinidumpUnloadedModule*(uint64_t));
@@ -400,11 +401,13 @@
   EXPECT_CALL(memory_list, GetMemoryRegionForAddress(_)).
     Times(0);
 
+  MockMinidumpUnloadedModuleList* unloaded_module_list_copy =
+      new MockMinidumpUnloadedModuleList();
   EXPECT_CALL(unloaded_module_list, Copy()).
-      WillOnce(Return(&unloaded_module_list));
+      WillOnce(Return(unloaded_module_list_copy));
 
   MockMinidumpUnloadedModule unloaded_module;
-  EXPECT_CALL(unloaded_module_list, GetModuleForAddress(kExpectedEIP)).
+  EXPECT_CALL(*unloaded_module_list_copy, GetModuleForAddress(kExpectedEIP)).
       WillOnce(Return(&unloaded_module));
 
   MinidumpProcessor processor(reinterpret_cast<SymbolSupplier*>(NULL), NULL);
diff --git a/src/processor/process_state.cc b/src/processor/process_state.cc
index 90ae93d..43c4a4b 100644
--- a/src/processor/process_state.cc
+++ b/src/processor/process_state.cc
@@ -64,6 +64,7 @@
   modules_with_corrupt_symbols_.clear();
   delete modules_;
   modules_ = NULL;
+  delete unloaded_modules_;
   unloaded_modules_ = NULL;
 }