Index: mojo/system/raw_channel.cc |
diff --git a/mojo/system/raw_channel.cc b/mojo/system/raw_channel.cc |
index d9febeb38fc61008d18de152f6100bf852ed30ae..92b9a3dfd9aff0646be7932e98d4f8e8d93ce11a 100644 |
--- a/mojo/system/raw_channel.cc |
+++ b/mojo/system/raw_channel.cc |
@@ -126,8 +126,13 @@ bool RawChannel::Init(Delegate* delegate) { |
DCHECK(!write_buffer_); |
write_buffer_.reset(new WriteBuffer); |
- if (!OnInit()) |
+ if (!OnInit()) { |
+ delegate_ = NULL; |
+ message_loop_for_io_ = NULL; |
+ read_buffer_.reset(); |
+ write_buffer_.reset(); |
return false; |
+ } |
return ScheduleRead() == IO_PENDING; |
} |