summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_crypto_server_config.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_crypto_server_config.cc')
-rw-r--r--chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_crypto_server_config.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_crypto_server_config.cc b/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_crypto_server_config.cc
index 7a651bf81f9..e2ee0ebab8b 100644
--- a/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_crypto_server_config.cc
+++ b/chromium/net/third_party/quiche/src/quiche/quic/core/crypto/quic_crypto_server_config.cc
@@ -1610,6 +1610,11 @@ QuicCryptoServerConfig::ParseConfigProtobuf(
QUIC_LOG(WARNING) << "Server config message is missing SCID";
return nullptr;
}
+ if (GetQuicRestartFlag(quic_return_error_on_empty_scid) && scid.empty()) {
+ QUIC_RESTART_FLAG_COUNT(quic_return_error_on_empty_scid);
+ QUIC_LOG(WARNING) << "Server config message contains an empty SCID";
+ return nullptr;
+ }
QUICHE_DCHECK(!scid.empty());
config->id = std::string(scid);