Commit c23ad8c1 authored by scottmg@chromium.org's avatar scottmg@chromium.org

Explicit destruction order in gcm_unit_tests

I looked through the cs.chromium.org results for

codedoutputstream -file:.pb.cc -file:.java -file:.pb.h

but don't see any other instances of this exact problem in
non-test code (and in fact, some with similar looking
constructs: https://code.google.com/p/chromium/codesearch#chromium/src/third_party/protobuf/src/google/protobuf/io/coded_stream_unittest.cc&l=320 )

R=zea@chromium.org
BUG=338962

Review URL: https://codereview.chromium.org/149073006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247815 0039d316-1c4b-4281-b951-d872f2087c98
parent 64437e62
......@@ -49,12 +49,16 @@ const char kDataMsgCategoryLong2[] =
std::string EncodePacket(uint8 tag, const std::string& proto) {
std::string result;
google::protobuf::io::StringOutputStream string_output_stream(&result);
google::protobuf::io::CodedOutputStream coded_output_stream(
{
google::protobuf::io::CodedOutputStream coded_output_stream(
&string_output_stream);
const unsigned char tag_byte[1] = {tag};
coded_output_stream.WriteRaw(tag_byte, 1);
coded_output_stream.WriteVarint32(proto.size());
coded_output_stream.WriteRaw(proto.c_str(), proto.size());
const unsigned char tag_byte[1] = { tag };
coded_output_stream.WriteRaw(tag_byte, 1);
coded_output_stream.WriteVarint32(proto.size());
coded_output_stream.WriteRaw(proto.c_str(), proto.size());
// ~CodedOutputStream must run before the move constructor at the
// return statement. http://crbug.com/338962
}
return result;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment