| Index: third_party/protobuf/src/google/protobuf/io/coded_stream_unittest.cc | 
| diff --git a/third_party/protobuf/src/google/protobuf/io/coded_stream_unittest.cc b/third_party/protobuf/src/google/protobuf/io/coded_stream_unittest.cc | 
| index 31574d5be35b3ca6c81fc25ceff30b9ffbddddbe..a8108e4572bc5111648e12e8b9d2fe1cfe4d2fba 100644 | 
| --- a/third_party/protobuf/src/google/protobuf/io/coded_stream_unittest.cc | 
| +++ b/third_party/protobuf/src/google/protobuf/io/coded_stream_unittest.cc | 
| @@ -58,7 +58,6 @@ | 
| #define ULL(x) GOOGLE_ULONGLONG(x) | 
|  | 
| namespace google { | 
| - | 
| namespace protobuf { | 
| namespace io { | 
| namespace { | 
| @@ -135,7 +134,7 @@ class CodedStreamTest : public testing::Test { | 
| // for further information. | 
| static void SetupTotalBytesLimitWarningTest( | 
| int total_bytes_limit, int warning_threshold, | 
| -      std::vector<string>* out_errors, std::vector<string>* out_warnings); | 
| +      vector<string>* out_errors, vector<string>* out_warnings); | 
|  | 
| // Buffer used during most of the tests. This assumes tests run sequentially. | 
| static const int kBufferSize = 1024 * 64; | 
| @@ -245,7 +244,7 @@ TEST_F(CodedStreamTest, EmptyInputBeforeEos) { | 
| int count_; | 
| } in; | 
| CodedInputStream input(&in); | 
| -  input.ReadTagNoLastTag(); | 
| +  input.ReadTag(); | 
| EXPECT_TRUE(input.ConsumedEntireMessage()); | 
| } | 
|  | 
| @@ -446,21 +445,6 @@ TEST_2D(CodedStreamTest, ReadVarint32Error, kVarintErrorCases, kBlockSizes) { | 
| EXPECT_EQ(kVarintErrorCases_case.can_parse, coded_input.ReadVarint32(&value)); | 
| } | 
|  | 
| -TEST_2D(CodedStreamTest, ReadVarint32Error_LeavesValueInInitializedState, | 
| -        kVarintErrorCases, kBlockSizes) { | 
| -  memcpy(buffer_, kVarintErrorCases_case.bytes, kVarintErrorCases_case.size); | 
| -  ArrayInputStream input(buffer_, kVarintErrorCases_case.size, | 
| -                         kBlockSizes_case); | 
| -  CodedInputStream coded_input(&input); | 
| - | 
| -  uint32 value = 0; | 
| -  EXPECT_EQ(kVarintErrorCases_case.can_parse, coded_input.ReadVarint32(&value)); | 
| -  // While the specific value following a failure is not critical, we do want to | 
| -  // ensure that it doesn't get set to an uninitialized value. (This check fails | 
| -  // in MSAN mode if value has been set to an uninitialized value.) | 
| -  EXPECT_EQ(value, value); | 
| -} | 
| - | 
| TEST_2D(CodedStreamTest, ReadVarint64Error, kVarintErrorCases, kBlockSizes) { | 
| memcpy(buffer_, kVarintErrorCases_case.bytes, kVarintErrorCases_case.size); | 
| ArrayInputStream input(buffer_, kVarintErrorCases_case.size, | 
| @@ -471,21 +455,6 @@ TEST_2D(CodedStreamTest, ReadVarint64Error, kVarintErrorCases, kBlockSizes) { | 
| EXPECT_EQ(kVarintErrorCases_case.can_parse, coded_input.ReadVarint64(&value)); | 
| } | 
|  | 
| -TEST_2D(CodedStreamTest, ReadVarint64Error_LeavesValueInInitializedState, | 
| -        kVarintErrorCases, kBlockSizes) { | 
| -  memcpy(buffer_, kVarintErrorCases_case.bytes, kVarintErrorCases_case.size); | 
| -  ArrayInputStream input(buffer_, kVarintErrorCases_case.size, | 
| -                         kBlockSizes_case); | 
| -  CodedInputStream coded_input(&input); | 
| - | 
| -  uint64 value = 0; | 
| -  EXPECT_EQ(kVarintErrorCases_case.can_parse, coded_input.ReadVarint64(&value)); | 
| -  // While the specific value following a failure is not critical, we do want to | 
| -  // ensure that it doesn't get set to an uninitialized value. (This check fails | 
| -  // in MSAN mode if value has been set to an uninitialized value.) | 
| -  EXPECT_EQ(value, value); | 
| -} | 
| - | 
| // ------------------------------------------------------------------- | 
| // VarintSize | 
|  | 
| @@ -525,28 +494,6 @@ TEST_1D(CodedStreamTest, VarintSize64, kVarintSizeCases) { | 
| CodedOutputStream::VarintSize64(kVarintSizeCases_case.value)); | 
| } | 
|  | 
| -TEST_F(CodedStreamTest, VarintSize32PowersOfTwo) { | 
| -  int expected = 1; | 
| -  for (int i = 1; i < 32; i++) { | 
| -    if (i % 7 == 0) { | 
| -      expected += 1; | 
| -    } | 
| -    EXPECT_EQ(expected, | 
| -              CodedOutputStream::VarintSize32(static_cast<uint32>(0x1u << i))); | 
| -  } | 
| -} | 
| - | 
| -TEST_F(CodedStreamTest, VarintSize64PowersOfTwo) { | 
| -  int expected = 1; | 
| -  for (int i = 1; i < 64; i++) { | 
| -    if (i % 7 == 0) { | 
| -      expected += 1; | 
| -    } | 
| -    EXPECT_EQ(expected, CodedOutputStream::VarintSize64( | 
| -                            static_cast<uint64>(0x1ull << i))); | 
| -  } | 
| -} | 
| - | 
| // ------------------------------------------------------------------- | 
| // Fixed-size int tests | 
|  | 
| @@ -1229,7 +1176,7 @@ TEST_F(CodedStreamTest, TotalBytesLimit) { | 
| EXPECT_TRUE(coded_input.ReadString(&str, 16)); | 
| EXPECT_EQ(0, coded_input.BytesUntilTotalBytesLimit()); | 
|  | 
| -  std::vector<string> errors; | 
| +  vector<string> errors; | 
|  | 
| { | 
| ScopedMemoryLog error_log; | 
| @@ -1263,7 +1210,7 @@ TEST_F(CodedStreamTest, TotalBytesLimitNotValidMessageEnd) { | 
|  | 
| // Read a tag.  Should fail, but report being a valid endpoint since it's | 
| // a regular limit. | 
| -  EXPECT_EQ(0, coded_input.ReadTagNoLastTag()); | 
| +  EXPECT_EQ(0, coded_input.ReadTag()); | 
| EXPECT_TRUE(coded_input.ConsumedEntireMessage()); | 
|  | 
| // Pop the limit. | 
| @@ -1271,7 +1218,7 @@ TEST_F(CodedStreamTest, TotalBytesLimitNotValidMessageEnd) { | 
|  | 
| // Read a tag.  Should fail, and report *not* being a valid endpoint, since | 
| // this time we're hitting the total bytes limit. | 
| -  EXPECT_EQ(0, coded_input.ReadTagNoLastTag()); | 
| +  EXPECT_EQ(0, coded_input.ReadTag()); | 
| EXPECT_FALSE(coded_input.ConsumedEntireMessage()); | 
| } | 
|  | 
| @@ -1281,7 +1228,7 @@ TEST_F(CodedStreamTest, TotalBytesLimitNotValidMessageEnd) { | 
| // vectors. | 
| void CodedStreamTest::SetupTotalBytesLimitWarningTest( | 
| int total_bytes_limit, int warning_threshold, | 
| -    std::vector<string>* out_errors, std::vector<string>* out_warnings) { | 
| +    vector<string>* out_errors, vector<string>* out_warnings) { | 
| ArrayInputStream raw_input(buffer_, sizeof(buffer_), 128); | 
|  | 
| ScopedMemoryLog scoped_log; | 
| @@ -1297,21 +1244,25 @@ void CodedStreamTest::SetupTotalBytesLimitWarningTest( | 
| } | 
|  | 
| TEST_F(CodedStreamTest, TotalBytesLimitWarning) { | 
| -  std::vector<string> errors; | 
| -  std::vector<string> warnings; | 
| +  vector<string> errors; | 
| +  vector<string> warnings; | 
| SetupTotalBytesLimitWarningTest(10240, 1024, &errors, &warnings); | 
|  | 
| EXPECT_EQ(0, errors.size()); | 
|  | 
| -  EXPECT_EQ(1, warnings.size()); | 
| +  ASSERT_EQ(2, warnings.size()); | 
| EXPECT_PRED_FORMAT2(testing::IsSubstring, | 
| -    "The total number of bytes read was 2048", | 
| +    "Reading dangerously large protocol message.  If the message turns out to " | 
| +    "be larger than 10240 bytes, parsing will be halted for security reasons.", | 
| warnings[0]); | 
| +  EXPECT_PRED_FORMAT2(testing::IsSubstring, | 
| +    "The total number of bytes read was 2048", | 
| +    warnings[1]); | 
| } | 
|  | 
| TEST_F(CodedStreamTest, TotalBytesLimitWarningDisabled) { | 
| -  std::vector<string> errors; | 
| -  std::vector<string> warnings; | 
| +  vector<string> errors; | 
| +  vector<string> warnings; | 
|  | 
| // Test with -1 | 
| SetupTotalBytesLimitWarningTest(10240, -1, &errors, &warnings); | 
| @@ -1410,7 +1361,7 @@ TEST_F(CodedStreamTest, InputOver2G) { | 
| // input.BackUp() with the correct number of bytes on destruction. | 
| ReallyBigInputStream input; | 
|  | 
| -  std::vector<string> errors; | 
| +  vector<string> errors; | 
|  | 
| { | 
| ScopedMemoryLog error_log; | 
|  |