summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-19 18:31:10 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-19 18:31:10 +0000
commitffbc56421f65fd4ea969b81fb57234e5ba572070 (patch)
tree4c6b8e16c81b7c07953fe7178df92a6c2ae2f18a /net
parentb6e7685790775ed48d22dd5c3e3d1979b6ff3eb2 (diff)
downloadchromium_src-ffbc56421f65fd4ea969b81fb57234e5ba572070.zip
chromium_src-ffbc56421f65fd4ea969b81fb57234e5ba572070.tar.gz
chromium_src-ffbc56421f65fd4ea969b81fb57234e5ba572070.tar.bz2
Ensure that all exits from ProcessPacket return true or set an error.
Merge internal change 35487529 Review URL: https://chromiumcodereview.appspot.com/11189070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163033 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/quic/quic_framer.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/quic/quic_framer.cc b/net/quic/quic_framer.cc
index a706a22..174cb9d 100644
--- a/net/quic/quic_framer.cc
+++ b/net/quic/quic_framer.cc
@@ -167,6 +167,7 @@ bool QuicFramer::ProcessPacket(const IPEndPoint& peer_address,
visitor_->OnFecProtectedPayload(payload);
}
if (!ProcessFragmentData()) {
+ DCHECK_NE(QUIC_NO_ERROR, error_); // ProcessFragmentData sets the error.
DLOG(WARNING) << "Unable to process fragment data.";
return false;
}
@@ -176,7 +177,7 @@ bool QuicFramer::ProcessPacket(const IPEndPoint& peer_address,
if (!reader_->ReadUInt48(
&fec_data.first_protected_packet_sequence_number)) {
set_detailed_error("Unable to read first protected packet.");
- return false;
+ return RaiseError(QUIC_INVALID_FEC_DATA);
}
fec_data.redundancy = reader_->ReadRemainingPayload();
@@ -204,6 +205,7 @@ bool QuicFramer::ProcessRevivedPacket(const IPEndPoint& peer_address,
reader_.reset(new QuicDataReader(payload.data(), payload.length()));
if (!ProcessFragmentData()) {
+ DCHECK_NE(QUIC_NO_ERROR, error_); // ProcessFragmentData sets the error.
DLOG(WARNING) << "Unable to process fragment data.";
return false;
}