| Index: net/spdy/spdy_frame_builder.cc
|
| diff --git a/net/spdy/spdy_frame_builder.cc b/net/spdy/spdy_frame_builder.cc
|
| index 9e779ff4594b3c708efe8ba52d7906d012a1dd17..6fc4531e1614e3ba3c0295cd595689ec032fe0c3 100644
|
| --- a/net/spdy/spdy_frame_builder.cc
|
| +++ b/net/spdy/spdy_frame_builder.cc
|
| @@ -102,12 +102,13 @@ bool SpdyFrameBuilder::WriteFramePrefix(const SpdyFramer& framer,
|
| DCHECK_EQ(0u, stream_id & ~kStreamIdMask);
|
| DCHECK_LE(4, framer.protocol_version());
|
| bool success = true;
|
| - DCHECK_GT(1u<<16, capacity_); // Make sure length fits in 2B.
|
| - success &= WriteUInt16(capacity_);
|
| + size_t length_field = capacity_ - 8;
|
| + DCHECK_GT(1u<<16, length_field); // Make sure length fits in 16.
|
| + success &= WriteUInt16(length_field);
|
| success &= WriteUInt8(type);
|
| success &= WriteUInt8(flags);
|
| success &= WriteUInt32(stream_id);
|
| - DCHECK_EQ(framer.GetDataFrameMinimumSize(), length());
|
| + DCHECK_EQ(length(), 8u);
|
| return success;
|
| }
|
|
|
| @@ -147,7 +148,7 @@ bool SpdyFrameBuilder::RewriteLength(const SpdyFramer& framer) {
|
| return OverwriteLength(framer,
|
| length_ - framer.GetControlFrameHeaderSize());
|
| } else {
|
| - return OverwriteLength(framer, length_);
|
| + return OverwriteLength(framer, length_ - 8);
|
| }
|
| }
|
|
|
|
|