From 1181edda58c4c09d5edd106b4da5912420a6f264 Mon Sep 17 00:00:00 2001 From: Yury Yarashevich Date: Thu, 30 Jan 2025 16:57:45 +0100 Subject: [PATCH] [ObjC] Fix strong reference check in RTCNetworkMonitor. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Strong reference must be validated when created from weak reference, otherwise crashes are possible and actually observed via Crashlytics. Bug: None Change-Id: I68355080ba3b20119c913a9c7e27edc07b5447cd Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/375901 Commit-Queue: Yury Yarashevich Reviewed-by: Kári Helgason Cr-Commit-Position: refs/heads/main@{#43837} --- sdk/objc/components/network/RTCNetworkMonitor.mm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/objc/components/network/RTCNetworkMonitor.mm b/sdk/objc/components/network/RTCNetworkMonitor.mm index 2fcc5f0789..9f635a35d9 100644 --- a/sdk/objc/components/network/RTCNetworkMonitor.mm +++ b/sdk/objc/components/network/RTCNetworkMonitor.mm @@ -67,10 +67,10 @@ rtc::AdapterType AdapterTypeFromInterfaceType( RTCLog(@"NW path monitor created."); __weak RTCNetworkMonitor *weakSelf = self; nw_path_monitor_set_update_handler(_pathMonitor, ^(nw_path_t path) { - if (weakSelf == nil) { + RTCNetworkMonitor *strongSelf = weakSelf; + if (strongSelf == nil) { return; } - RTCNetworkMonitor *strongSelf = weakSelf; RTCLog(@"NW path monitor: updated."); nw_path_status_t status = nw_path_get_status(path); if (status == nw_path_status_invalid) {