From 1f1abd1dccb886cdfe9a7bed70069176d97c2ae1 Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Wed, 11 May 2022 17:18:36 +0200 Subject: [PATCH] Fix observer ref counting. By calling release() the ref counter is not decremented and when the observer is later wrapped in a scoped_refprt its counter will be 2 instead of 1, leading to a memory leak. Bug: b/231912631 Change-Id: I466e5c29ba4f4aee43e8cf23f2e04fa4b6351b4c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261954 Reviewed-by: Artem Titov Commit-Queue: Mirko Bonadei Cr-Commit-Position: refs/heads/main@{#36862} --- test/pc/e2e/test_peer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/pc/e2e/test_peer.h b/test/pc/e2e/test_peer.h index 2a8b3a1497..e21c054fa4 100644 --- a/test/pc/e2e/test_peer.h +++ b/test/pc/e2e/test_peer.h @@ -68,7 +68,7 @@ class TestPeer final { void CreateOffer( rtc::scoped_refptr observer) { RTC_CHECK(wrapper_) << "TestPeer is already closed"; - pc()->CreateOffer(observer.release(), params_.rtc_offer_answer_options); + pc()->CreateOffer(observer.get(), params_.rtc_offer_answer_options); } std::unique_ptr CreateOffer() { RTC_CHECK(wrapper_) << "TestPeer is already closed";