Fix memory leak on DeltaPerformerTest.

The ApplyDeltaFile() function creates a DeltaPerformer that should be
free'd by the caller test. Although this is not the best design, we
need to first fix the memory leaks on the unittest code.

BUG=chromium:378548
TEST=`FEATURES="test" USE="clang asan" emerge-link update_engine` doesn't complain at all.

Change-Id: I92d7ee0f7f9534c5631d4bc988f433ddd66173a0
Reviewed-on: https://chromium-review.googlesource.com/202068
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: David Zeuthen <zeuthen@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
diff --git a/delta_performer_unittest.cc b/delta_performer_unittest.cc
index 8051b32..dc0b202 100644
--- a/delta_performer_unittest.cc
+++ b/delta_performer_unittest.cc
@@ -797,7 +797,7 @@
                       SignatureTest signature_test,
                       bool hash_checks_mandatory) {
   DeltaState state;
-  DeltaPerformer *performer;
+  DeltaPerformer *performer = nullptr;
   GenerateDeltaFile(full_kernel, full_rootfs, noop, chunk_size,
                     signature_test, &state);
 
@@ -810,6 +810,7 @@
                  &state, hash_checks_mandatory, kValidOperationData,
                  &performer);
   VerifyPayload(performer, &state, signature_test);
+  delete performer;
 }
 
 // Calls delta performer's Write method by pretending to pass in bytes from a
@@ -949,9 +950,10 @@
   ScopedPathUnlinker delta_unlinker(state.delta_path);
   ScopedPathUnlinker old_kernel_unlinker(state.old_kernel);
   ScopedPathUnlinker new_kernel_unlinker(state.new_kernel);
-  DeltaPerformer *performer;
+  DeltaPerformer *performer = nullptr;
   ApplyDeltaFile(true, true, false, kSignatureGenerated,
                  &state, hash_checks_mandatory, op_hash_test, &performer);
+  delete performer;
 }