OSDN Git Service

Fix static-analyzer memory leak warnings.
authorGeorge Burgess IV <gbiv@google.com>
Tue, 15 Nov 2016 23:22:36 +0000 (15:22 -0800)
committerGeorge Burgess IV <gbiv@google.com>
Tue, 15 Nov 2016 23:45:09 +0000 (15:45 -0800)
system/extras/simpleperf/record_test.cpp:77:3: warning: Potential leak
of memory pointed to by 'r2'

system/extras/simpleperf/record_test.cpp:77:3: warning: Potential leak
of memory pointed to by 'r3'

system/extras/simpleperf/record_test.cpp:77:3: warning: Potential leak
of memory pointed to by 'r4'

Bug: None.
Test: Now builds without those warnings, and
`simpleperf_unit_test -t system/extras/simpleperf/testdata` passes.
Change-Id: Ie77955367efeeba13173e2542eba02727b298f86

simpleperf/record_test.cpp

index 45febc5..c6f8e9c 100644 (file)
@@ -64,28 +64,32 @@ TEST_F(RecordTest, RecordCache_smoke) {
   event_attr.sample_id_all = 1;
   event_attr.sample_type |= PERF_SAMPLE_TIME;
   RecordCache cache(true, 2, 2);
+
+  // Push r1.
   MmapRecord* r1 = new MmapRecord(event_attr, true, 1, 1, 0x100, 0x200, 0x300,
                                   "mmap_record1", 0, 3);
-  MmapRecord* r2 = new MmapRecord(event_attr, true, 1, 1, 0x100, 0x200, 0x300,
-                                  "mmap_record1", 0, 1);
-  MmapRecord* r3 = new MmapRecord(event_attr, true, 1, 1, 0x100, 0x200, 0x300,
-                                  "mmap_record1", 0, 4);
-  MmapRecord* r4 = new MmapRecord(event_attr, true, 1, 1, 0x100, 0x200, 0x300,
-                                  "mmap_record1", 0, 6);
-  // Push r1.
   cache.Push(std::unique_ptr<Record>(r1));
   ASSERT_EQ(nullptr, cache.Pop());
+
   // Push r2.
+  MmapRecord* r2 = new MmapRecord(event_attr, true, 1, 1, 0x100, 0x200, 0x300,
+                                  "mmap_record1", 0, 1);
   cache.Push(std::unique_ptr<Record>(r2));
   // Pop r2.
   std::unique_ptr<Record> popped_r = cache.Pop();
   ASSERT_TRUE(popped_r != nullptr);
   ASSERT_EQ(r2, popped_r.get());
   ASSERT_EQ(nullptr, cache.Pop());
+
   // Push r3.
+  MmapRecord* r3 = new MmapRecord(event_attr, true, 1, 1, 0x100, 0x200, 0x300,
+                                  "mmap_record1", 0, 4);
   cache.Push(std::unique_ptr<Record>(r3));
   ASSERT_EQ(nullptr, cache.Pop());
+
   // Push r4.
+  MmapRecord* r4 = new MmapRecord(event_attr, true, 1, 1, 0x100, 0x200, 0x300,
+                                  "mmap_record1", 0, 6);
   cache.Push(std::unique_ptr<Record>(r4));
   // Pop r1.
   popped_r = cache.Pop();