Index: net/tools/quic/quic_dispatcher.cc |
diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc |
index 1771026c97a765f515c23e9813c185cb2d294149..46f672ea0f100e0a4952362367da51fa4b450e47 100644 |
--- a/net/tools/quic/quic_dispatcher.cc |
+++ b/net/tools/quic/quic_dispatcher.cc |
@@ -209,6 +209,13 @@ bool QuicDispatcher::OnUnauthenticatedPublicHeader( |
const QuicPacketPublicHeader& header) { |
QuicSession* session = nullptr; |
+ // Port zero is only allowed for unidirectional UDP, so is disallowed by QUIC. |
+ // Given that we can't even send a reply rejecting the packet, just black hole |
+ // it. |
+ if (current_client_address_.port() == 0) { |
+ return false; |
+ } |
+ |
QuicConnectionId connection_id = header.connection_id; |
SessionMap::iterator it = session_map_.find(connection_id); |
if (it == session_map_.end()) { |