Fix port change determination logic in QuicConnection::MigratePath().

PiperOrigin-RevId: 361004639
Change-Id: Iacb514eed2c469be402305dfdeac5cd68e26eca2
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 0bdc1bf..b64c565 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -6092,11 +6092,17 @@
   if (!connected_) {
     return;
   }
-  const bool is_port_change =
-      QuicUtils::DetermineAddressChangeType(default_path_.self_address,
-                                            self_address) == PORT_CHANGE &&
-      QuicUtils::DetermineAddressChangeType(default_path_.peer_address,
-                                            peer_address) == PORT_CHANGE;
+
+  const auto self_address_change_type = QuicUtils::DetermineAddressChangeType(
+      default_path_.self_address, self_address);
+  const auto peer_address_change_type = QuicUtils::DetermineAddressChangeType(
+      default_path_.peer_address, peer_address);
+  QUICHE_DCHECK(self_address_change_type != NO_CHANGE ||
+                peer_address_change_type != NO_CHANGE);
+  const bool is_port_change = (self_address_change_type == PORT_CHANGE ||
+                               self_address_change_type == NO_CHANGE) &&
+                              (peer_address_change_type == PORT_CHANGE ||
+                               peer_address_change_type == NO_CHANGE);
   SetSelfAddress(self_address);
   UpdatePeerAddress(peer_address);
   SetQuicPacketWriter(writer, owns_writer);