diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-19 18:31:10 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-19 18:31:10 +0000 |
commit | ffbc56421f65fd4ea969b81fb57234e5ba572070 (patch) | |
tree | 4c6b8e16c81b7c07953fe7178df92a6c2ae2f18a /net | |
parent | b6e7685790775ed48d22dd5c3e3d1979b6ff3eb2 (diff) | |
download | chromium_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.cc | 4 |
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; } |