Merge pie-platform-release to aosp-master - DO NOT MERGE

Change-Id: I34ba25a69677888510acc3f6b8d117fd4f390b18
diff --git a/OWNERS b/OWNERS
index 9d9977b..5e4e8cd 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,7 +1,5 @@
 butlermichael@google.com
 dgross@google.com
-ijsung@google.com
 jeanluc@google.com
 miaowang@google.com
 srhines@google.com
-yangni@google.com
diff --git a/bcinfo/MetadataExtractor.cpp b/bcinfo/MetadataExtractor.cpp
index 78d94e5..439d121 100644
--- a/bcinfo/MetadataExtractor.cpp
+++ b/bcinfo/MetadataExtractor.cpp
@@ -290,9 +290,7 @@
     return true;
   }
 
-  uint32_t *TmpSlotList = new uint32_t[mObjectSlotCount];
-  memset(TmpSlotList, 0, mObjectSlotCount * sizeof(*TmpSlotList));
-
+  std::unique_ptr<uint32_t[]> TmpSlotList(new uint32_t[mObjectSlotCount]());
   for (size_t i = 0; i < mObjectSlotCount; i++) {
     llvm::MDNode *ObjectSlot = ObjectSlotMetadata->getOperand(i);
     if (ObjectSlot != nullptr && ObjectSlot->getNumOperands() == 1) {
@@ -306,8 +304,8 @@
     }
   }
 
-  mObjectSlotList = TmpSlotList;
-
+  delete [] mObjectSlotList;
+  mObjectSlotList = TmpSlotList.release();
   return true;
 }
 
@@ -441,9 +439,9 @@
     return true;
   }
 
-  uint32_t *TmpSigList = new uint32_t[mExportForEachSignatureCount];
-  const char **TmpNameList = new const char*[mExportForEachSignatureCount];
-  uint32_t *TmpInputCountList = new uint32_t[mExportForEachSignatureCount];
+  std::unique_ptr<uint32_t[]> TmpSigList(new uint32_t[mExportForEachSignatureCount]);
+  std::unique_ptr<const char *[]> TmpNameList(new const char*[mExportForEachSignatureCount]);
+  std::unique_ptr<uint32_t[]> TmpInputCountList(new uint32_t[mExportForEachSignatureCount]);
 
   for (size_t i = 0; i < mExportForEachSignatureCount; i++) {
     llvm::MDNode *SigNode = Signatures->getOperand(i);
@@ -489,9 +487,14 @@
     TmpNameList[0] = RootName;
   }
 
-  mExportForEachNameList = TmpNameList;
-  mExportForEachSignatureList = TmpSigList;
-  mExportForEachInputCountList = TmpInputCountList;
+  delete [] mExportForEachNameList;
+  mExportForEachNameList = TmpNameList.release();
+
+  delete [] mExportForEachSignatureList;
+  mExportForEachSignatureList = TmpSigList.release();
+
+  delete [] mExportForEachInputCountList;
+  mExportForEachInputCountList = TmpInputCountList.release();
 
   return true;
 }