QuicChromiumClientSession::StreamRequest can retain an invalid ptr to the underlying Stream. |
||
Issue descriptionWhile working on Issue 754823 , I noticed that QuicChromiumClientSession::StreamRequest can retain an invalid ptr to QuicChromiumClientStream. When QuicChromiumClientSession is closed, Handle::|stream_request_| is not null-ed out. If Handle were to access |stream_request_| again, we can have a use-after-free crash. This currently doesn't happen, but it'll be good to clean up the |stream_request_| (or the ptr that it retains) when Session goes away.
,
Aug 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c682cae947096fff0bd2543aab031a2296770b2f commit c682cae947096fff0bd2543aab031a2296770b2f Author: Ryan Hamilton <rch@chromium.org> Date: Mon Aug 21 18:07:17 2017 Store a unique_ptr<StreamHandle> instead of a Stream* in QuicChromiumClientSession::StreamRequest to avoid use-after-free problems. Bug: 756500 Change-Id: Icb25981f61698dff6bf71da03625bdb00c70134d Reviewed-on: https://chromium-review.googlesource.com/621710 Reviewed-by: Helen Li <xunjieli@chromium.org> Commit-Queue: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#495987} [modify] https://crrev.com/c682cae947096fff0bd2543aab031a2296770b2f/net/quic/chromium/bidirectional_stream_quic_impl.cc [modify] https://crrev.com/c682cae947096fff0bd2543aab031a2296770b2f/net/quic/chromium/quic_chromium_client_session.cc [modify] https://crrev.com/c682cae947096fff0bd2543aab031a2296770b2f/net/quic/chromium/quic_chromium_client_session.h [modify] https://crrev.com/c682cae947096fff0bd2543aab031a2296770b2f/net/quic/chromium/quic_http_stream.cc
,
Nov 10 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by rch@chromium.org
, Aug 19 2017