Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Issue 1975483003: Fixes use-after-free bug in QUIC. (Closed)

Created:
4 years, 7 months ago by Jana
Modified:
4 years, 7 months ago
Reviewers:
Ryan Hamilton
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@2704
Target Ref:
refs/pending/branch-heads/2704
Project:
chromium
Visibility:
Public.

Description

Fixes use-after-free bug in QUIC. QuicSession destructor ends up calling the QuicSpdyStream destructor, which in turn tries to access a QuicSession method via a non-owning pointer back to the session. This CL arranges for the non-owning pointer to be set to null before QuicSpdyStream destructor is called. Merge Internal CL: 120973813 Creates a MockQuicSession for use in ReliableQuicStreamTest, which currently incorrectly uses a MockQuicSpdySession. The test class being fixed in this CL uses a MockQuicSpdySession, which is a QuicSpdySession, with TestStreams, which are ReliableQuicStreams. Bad things can happen since QuicSpdySession seems to freely assume that its streams are QuicSpdyStreams. Bad things do happen, but they inexplicably seem to show up only in Chromium tests. Merge Internal CL: 120989117 BUG=605474 NOTRY=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/1932653002 Cr-Commit-Position: refs/heads/master@{#390575} (cherry picked from commit 4ee9d76953f16811186942971822cf12d48db7ae)

Patch Set 1 #

Patch Set 2 : Removes use of QuicHeaderList from merge CL. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+100 lines, -12 lines) Patch
M net/quic/quic_session_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M net/quic/quic_spdy_session.cc View 1 chunk +10 lines, -1 line 0 comments Download
M net/quic/quic_spdy_stream.h View 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/quic_spdy_stream.cc View 2 chunks +8 lines, -1 line 0 comments Download
M net/quic/reliable_quic_stream_test.cc View 3 chunks +3 lines, -3 lines 0 comments Download
M net/quic/test_tools/quic_session_peer.h View 1 chunk +0 lines, -1 line 0 comments Download
M net/quic/test_tools/quic_session_peer.cc View 1 chunk +0 lines, -5 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.h View 1 1 chunk +54 lines, -0 lines 0 comments Download
M net/quic/test_tools/quic_test_utils.cc View 1 chunk +20 lines, -0 lines 0 comments Download

Messages

Total messages: 20 (12 generated)
Ryan Hamilton
lgtm
4 years, 7 months ago (2016-05-11 21:38:14 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1975483003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1975483003/1
4 years, 7 months ago (2016-05-11 21:38:50 UTC) #5
commit-bot: I haz the power
CLs for remote refs other than refs/pending/heads/master must contain NOTRY=true and NOPRESUBMIT=true in order for ...
4 years, 7 months ago (2016-05-11 21:38:51 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1975483003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1975483003/1
4 years, 7 months ago (2016-05-11 21:41:08 UTC) #11
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 7 months ago (2016-05-11 21:43:56 UTC) #13
jbudorick
A revert of this CL (patchset #1 id:1) has been created in https://codereview.chromium.org/1970073002/ by jbudorick@chromium.org. ...
4 years, 7 months ago (2016-05-12 01:31:41 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1975483003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1975483003/20001
4 years, 7 months ago (2016-05-12 22:39:58 UTC) #18
commit-bot: I haz the power
4 years, 7 months ago (2016-05-12 22:40:54 UTC) #20
Message was sent while issue was closed.
Committed patchset #2 (id:20001)

Powered by Google App Engine
This is Rietveld 408576698