| Index: net/quic/crypto/quic_crypto_server_config.cc
|
| diff --git a/net/quic/crypto/quic_crypto_server_config.cc b/net/quic/crypto/quic_crypto_server_config.cc
|
| index 7f6a3afdbb1347d068308d44e2adebc63fe0cf21..7c76ba85acd910405ca000ad62b017448362880c 100644
|
| --- a/net/quic/crypto/quic_crypto_server_config.cc
|
| +++ b/net/quic/crypto/quic_crypto_server_config.cc
|
| @@ -452,7 +452,7 @@ bool QuicCryptoServerConfig::SetConfigs(
|
| reinterpret_cast<const char *>(config->orbit), kOrbitSize)
|
| << " primary_time " << config->primary_time.ToUNIXSeconds()
|
| << " priority " << config->priority;
|
| - new_configs.insert(make_pair(config->id, config));
|
| + new_configs.insert(std::make_pair(config->id, config));
|
| }
|
| }
|
|
|
| @@ -684,16 +684,17 @@ QuicErrorCode QuicCryptoServerConfig::ProcessClientHello(
|
| return QUIC_CRYPTO_SYMMETRIC_KEY_SETUP_FAILED;
|
| }
|
|
|
| - scoped_ptr<QuicData> cetv_plaintext(crypters.decrypter->DecryptPacket(
|
| + char plaintext[kMaxPacketSize];
|
| + size_t plaintext_length = 0;
|
| + const bool success = crypters.decrypter->DecryptPacket(
|
| 0 /* sequence number */, StringPiece() /* associated data */,
|
| - cetv_ciphertext));
|
| - if (!cetv_plaintext.get()) {
|
| + cetv_ciphertext, plaintext, &plaintext_length, kMaxPacketSize);
|
| + if (!success) {
|
| *error_details = "CETV decryption failure";
|
| - return QUIC_INVALID_CRYPTO_MESSAGE_PARAMETER;
|
| + return QUIC_PACKET_TOO_LARGE;
|
| }
|
| -
|
| - scoped_ptr<CryptoHandshakeMessage> cetv(CryptoFramer::ParseMessage(
|
| - cetv_plaintext->AsStringPiece()));
|
| + scoped_ptr<CryptoHandshakeMessage> cetv(
|
| + CryptoFramer::ParseMessage(StringPiece(plaintext, plaintext_length)));
|
| if (!cetv.get()) {
|
| *error_details = "CETV parse error";
|
| return QUIC_INVALID_CRYPTO_MESSAGE_PARAMETER;
|
| @@ -835,7 +836,7 @@ void QuicCryptoServerConfig::SelectNewPrimaryConfig(
|
| return;
|
| }
|
|
|
| - sort(configs.begin(), configs.end(), ConfigPrimaryTimeLessThan);
|
| + std::sort(configs.begin(), configs.end(), ConfigPrimaryTimeLessThan);
|
|
|
| Config* best_candidate = configs[0].get();
|
|
|
|
|