From 5f232c54369ce98e8835941bbda3a2a2958c5ad9 Mon Sep 17 00:00:00 2001 From: "John W. Bruce" Date: Tue, 7 Jul 2020 15:07:16 -0700 Subject: [PATCH] Memory Leak in CertificateProvisioningTest (This is a merge of http://go/wvgerrit/102084.) No one was claiming ownership of the metrics object in CertificateProvisioningTest, resulting in a leak. This patch makes the test hold onto ownership. Bug: 159486086 Test: CE CDM Unit Tests Test: Android Unit Tests Change-Id: I84710782b7a60d6bd3a7eda981de4f0af877fc39 --- .../cdm/core/test/certificate_provisioning_unittest.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libwvdrmengine/cdm/core/test/certificate_provisioning_unittest.cpp b/libwvdrmengine/cdm/core/test/certificate_provisioning_unittest.cpp index 5a0a01b2..6c7d0b28 100644 --- a/libwvdrmengine/cdm/core/test/certificate_provisioning_unittest.cpp +++ b/libwvdrmengine/cdm/core/test/certificate_provisioning_unittest.cpp @@ -65,18 +65,19 @@ class TestStubCryptoSessionFactory : public CryptoSessionFactory { using ::testing::_; class CertificateProvisioningTest : public WvCdmTestBase { - public: protected: void SetUp() override { WvCdmTestBase::SetUp(); CryptoSession::SetCryptoSessionFactory(new TestStubCryptoSessionFactory()); + metrics_.reset(new metrics::CryptoMetrics()); certificate_provisioning_.reset( - new CertificateProvisioning(new metrics::CryptoMetrics())); + new CertificateProvisioning(metrics_.get())); } void TearDown() override {} + std::unique_ptr metrics_; std::unique_ptr certificate_provisioning_; };