Commit 726621f9 authored by inferno's avatar inferno Committed by Commit bot

Revert of IPC::ChannelMojo: Make IPC handling robust against bad messages....

Revert of IPC::ChannelMojo: Make IPC handling robust against bad messages. (patchset #3 id:40001 of https://codereview.chromium.org/725733002/)

Reason for revert:
Broke ipc fuzzer

Original issue's description:
> IPC::ChannelMojo: Make IPC handling robust against bad messages.
>
> This change replaces some DCHECK()s with real error handling.
> They happen when it receives broken messages.
>
> BUG=428800
> R=viettrungluu@chromium.org
>
> Committed: https://crrev.com/185ffdf58f85e47db9666d2ad9b80ff9bd7fa54b
> Cr-Commit-Position: refs/heads/master@{#304102}

TBR=viettrungluu@chromium.org,morrita@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=428800

Review URL: https://codereview.chromium.org/883373002

Cr-Commit-Position: refs/heads/master@{#313778}
parent 4f4fd12f
......@@ -100,14 +100,9 @@ void MojoServerBootstrap::OnChannelConnected(int32 peer_pid) {
}
bool MojoServerBootstrap::OnMessageReceived(const Message&) {
if (state() != STATE_WAITING_ACK) {
set_state(STATE_ERROR);
LOG(ERROR) << "Got inconsistent message from client.";
return false;
}
DCHECK_EQ(state(), STATE_WAITING_ACK);
set_state(STATE_READY);
CHECK(server_pipe_.is_valid());
delegate()->OnPipeAvailable(
mojo::embedder::ScopedPlatformHandle(server_pipe_.release()));
......@@ -134,12 +129,6 @@ MojoClientBootstrap::MojoClientBootstrap() {
}
bool MojoClientBootstrap::OnMessageReceived(const Message& message) {
if (state() != STATE_INITIALIZED) {
set_state(STATE_ERROR);
LOG(ERROR) << "Got inconsistent message from server.";
return false;
}
PlatformFileForTransit pipe;
PickleIterator iter(message);
if (!ParamTraits<PlatformFileForTransit>::Read(&message, &iter, &pipe)) {
......
......@@ -55,9 +55,6 @@ class IPC_MOJO_EXPORT MojoBootstrap : public Listener {
#endif // defined(OS_POSIX) && !defined(OS_NACL)
protected:
// On MojoServerBootstrap: INITIALIZED -> WAITING_ACK -> READY
// On MojoClientBootstrap: INITIALIZED -> READY
// STATE_ERROR is a catch-all state that captures any observed error.
enum State { STATE_INITIALIZED, STATE_WAITING_ACK, STATE_READY, STATE_ERROR };
Delegate* delegate() const { return delegate_; }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment