Fix a memory leak in the memtester
authorRon Dreslinski <rdreslin@umich.edu>
Thu, 12 Oct 2006 17:43:12 +0000 (13:43 -0400)
committerRon Dreslinski <rdreslin@umich.edu>
Thu, 12 Oct 2006 17:43:12 +0000 (13:43 -0400)
--HG--
extra : convert_revision : 93062b0f1a3ba7a5210e2f27099f20ae8f66522b

src/cpu/memtest/memtest.cc

index f42f0f8e200e671bf16e483780a6fac2e8e0b99e..c44f28f9b14189fe9f90e84ca44f652cf69dcfb4 100644 (file)
@@ -360,7 +360,11 @@ MemTest::tick()
         //For now we only allow one outstanding request per addreess per tester
         //This means we assume CPU does write forwarding to reads that alias something
         //in the cpu store buffer.
-        if (outstandingAddrs.find(paddr) != outstandingAddrs.end()) return;
+        if (outstandingAddrs.find(paddr) != outstandingAddrs.end()) {
+            delete result;
+            delete req;
+            return;
+        }
         else outstandingAddrs.insert(paddr);
 
         // ***** NOTE FOR RON: I'm not sure how to access checkMem. - Kevin
@@ -395,7 +399,12 @@ MemTest::tick()
         //For now we only allow one outstanding request per addreess per tester
         //This means we assume CPU does write forwarding to reads that alias something
         //in the cpu store buffer.
-        if (outstandingAddrs.find(paddr) != outstandingAddrs.end()) return;
+        if (outstandingAddrs.find(paddr) != outstandingAddrs.end()) {
+            delete result;
+            delete req;
+            return;
+        }
+
         else outstandingAddrs.insert(paddr);
 
 /*