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 <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36862}
This commit is contained in:
Mirko Bonadei 2022-05-11 17:18:36 +02:00 committed by WebRTC LUCI CQ
parent 810057cf96
commit 1f1abd1dcc

View File

@ -68,7 +68,7 @@ class TestPeer final {
void CreateOffer(
rtc::scoped_refptr<CreateSessionDescriptionObserver> 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<SessionDescriptionInterface> CreateOffer() {
RTC_CHECK(wrapper_) << "TestPeer is already closed";