diff options
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/webplugin_delegate_proxy.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/renderer/webplugin_delegate_proxy.cc b/chrome/renderer/webplugin_delegate_proxy.cc index 1274d08..e07368d 100644 --- a/chrome/renderer/webplugin_delegate_proxy.cc +++ b/chrome/renderer/webplugin_delegate_proxy.cc @@ -220,6 +220,13 @@ bool WebPluginDelegateProxy::Initialize(const GURL& url, char** argn, } #if defined(OS_POSIX) + if (channel_handle.name.empty()) { + // We got an invalid handle. Possibly the plugin process is stale? In any + // case, don't try to connect to it, the empty name represents the host + // channel, and connecting to it again does bad things. + return false; + } + // If we received a ChannelHandle, register it now. if (channel_handle.socket.fd >= 0) IPC::AddChannelSocket(channel_handle.name, channel_handle.socket.fd); |