diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-28 20:30:47 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-28 20:30:47 +0000 |
commit | 887250a28d8ff32afe931bd2d4752adf8f44a4b7 (patch) | |
tree | 188647231d1ea2194a551cd54099d3fe81fa365c /ipc | |
parent | 75910768c195b97d1ee3891d324f795ae1b17d4d (diff) | |
download | chromium_src-887250a28d8ff32afe931bd2d4752adf8f44a4b7.zip chromium_src-887250a28d8ff32afe931bd2d4752adf8f44a4b7.tar.gz chromium_src-887250a28d8ff32afe931bd2d4752adf8f44a4b7.tar.bz2 |
ipc: don't send server hello message if we closed the channel.
For details, see the referenced bug, but it appears that the channel may
be deleted within ClosePipeOnError.
BUG=74377
Review URL: http://codereview.chromium.org/6588055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76254 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_channel_posix.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ipc/ipc_channel_posix.cc b/ipc/ipc_channel_posix.cc index 7c753b6..ee89845 100644 --- a/ipc/ipc_channel_posix.cc +++ b/ipc/ipc_channel_posix.cc @@ -1005,6 +1005,9 @@ void Channel::ChannelImpl::OnFileCanReadWithoutBlocking(int fd) { waiting_connect_ = false; } if (!ProcessIncomingMessages()) { + // ClosePipeOnError may delete this object, so we mustn't call + // ProcessOutgoingMessages. + send_server_hello_msg = false; ClosePipeOnError(); } } else { |