Handle case of empty connection in pair change event

Bug: webrtc:10878
Change-Id: I49992bac3450e95b0f8aa388e21662f2d6f92a96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149029
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Alex Drake <alexdrake@google.com>
Cr-Commit-Position: refs/heads/master@{#28850}
diff --git a/p2p/base/p2p_transport_channel.cc b/p2p/base/p2p_transport_channel.cc
index a3f90a5..6356859 100644
--- a/p2p/base/p2p_transport_channel.cc
+++ b/p2p/base/p2p_transport_channel.cc
@@ -1965,15 +1965,17 @@
   }
 
   // Create event for candidate pair change.
-  CandidatePairChangeEvent pair_change;
-  pair_change.reason = reason;
+
   if (selected_connection_) {
+    CandidatePairChangeEvent pair_change;
+    pair_change.reason = reason;
     pair_change.local_candidate = selected_connection_->local_candidate();
     pair_change.remote_candidate = selected_connection_->remote_candidate();
     pair_change.last_data_received_ms =
         selected_connection_->last_data_received();
+    SignalCandidatePairChanged(pair_change);
   }
-  SignalCandidatePairChanged(pair_change);
+
   SignalNetworkRouteChanged(network_route_);
 }