summaryrefslogtreecommitdiffstats
path: root/net/quic
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-22 19:30:07 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-22 19:30:07 +0000
commit25b21aeecac7c7ec16b42de9062967a0cc8ad843 (patch)
treec97f42c0279dc0d27ace19f735ccd0207b4c67d1 /net/quic
parent7fd163e7bd4b19b6017f06124faee09a4b5080f8 (diff)
downloadchromium_src-25b21aeecac7c7ec16b42de9062967a0cc8ad843.zip
chromium_src-25b21aeecac7c7ec16b42de9062967a0cc8ad843.tar.gz
chromium_src-25b21aeecac7c7ec16b42de9062967a0cc8ad843.tar.bz2
Cleanup Cls regarding issue 11586006
Merge internal change: 40298872 TBR=jar@chromium.org Review URL: https://chromiumcodereview.appspot.com/11660002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174538 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic')
-rw-r--r--net/quic/quic_data_writer.cc4
-rw-r--r--net/quic/quic_data_writer_test.cc34
2 files changed, 38 insertions, 0 deletions
diff --git a/net/quic/quic_data_writer.cc b/net/quic/quic_data_writer.cc
index 0261d94..7639566 100644
--- a/net/quic/quic_data_writer.cc
+++ b/net/quic/quic_data_writer.cc
@@ -71,6 +71,10 @@ bool QuicDataWriter::WriteStringPiece16(StringPiece val) {
}
char* QuicDataWriter::BeginWrite(size_t length) {
+ if (length_ > capacity_) {
+ return NULL;
+ }
+
if (capacity_ - length_ < length) {
return NULL;
}
diff --git a/net/quic/quic_data_writer_test.cc b/net/quic/quic_data_writer_test.cc
new file mode 100644
index 0000000..901dd39
--- /dev/null
+++ b/net/quic/quic_data_writer_test.cc
@@ -0,0 +1,34 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "net/quic/quic_data_writer.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace net {
+namespace test {
+namespace {
+
+TEST(QuicDataWriterTest, WriteUint8ToOffset) {
+ QuicDataWriter writer(4);
+
+ EXPECT_TRUE(writer.WriteUInt8ToOffset(1, 0));
+ EXPECT_TRUE(writer.WriteUInt8ToOffset(2, 1));
+ EXPECT_TRUE(writer.WriteUInt8ToOffset(3, 2));
+ EXPECT_TRUE(writer.WriteUInt8ToOffset(4, 3));
+ EXPECT_FALSE(writer.WriteUInt8ToOffset(5, 4));
+
+ char* data = writer.take();
+
+ EXPECT_EQ(1, data[0]);
+ EXPECT_EQ(2, data[1]);
+ EXPECT_EQ(3, data[2]);
+ EXPECT_EQ(4, data[3]);
+
+ delete[] data;
+}
+
+} // namespace
+} // namespace test
+} // namespace net