summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-03 17:01:36 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-03 17:01:36 +0000
commit6c6cc80b2463e75d94ebb0d392ccf54761374a64 (patch)
tree027e484cadfabddc197efe4ccab1567bc6cb9b0f /chrome
parentded5e4e7e6bc7c7d4d16223929dbb0f69fc8add0 (diff)
downloadchromium_src-6c6cc80b2463e75d94ebb0d392ccf54761374a64.zip
chromium_src-6c6cc80b2463e75d94ebb0d392ccf54761374a64.tar.gz
chromium_src-6c6cc80b2463e75d94ebb0d392ccf54761374a64.tar.bz2
Make OpenProcessHandle report an error when it couldn't open the handle.
One more step to land http://codereview.chromium.org/54003 (chrome_process_util). Review URL: http://codereview.chromium.org/62004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13086 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/metrics/metrics_service_uitest.cc3
-rw-r--r--chrome/browser/renderer_host/resource_message_filter.cc7
-rw-r--r--chrome/plugin/plugin_channel.cc6
3 files changed, 12 insertions, 4 deletions
diff --git a/chrome/browser/metrics/metrics_service_uitest.cc b/chrome/browser/metrics/metrics_service_uitest.cc
index c61a39d..9e6940ed 100644
--- a/chrome/browser/metrics/metrics_service_uitest.cc
+++ b/chrome/browser/metrics/metrics_service_uitest.cc
@@ -92,7 +92,8 @@ TEST_F(MetricsServiceTest, CrashRenderers) {
int process_id = 0;
ASSERT_TRUE(tab->GetProcessID(&process_id));
ASSERT_NE(0, process_id);
- base::ProcessHandle process_handle = base::OpenProcessHandle(process_id);
+ base::ProcessHandle process_handle;
+ ASSERT_TRUE(base::OpenProcessHandle(process_id, &process_handle));
// Fake Access Violation.
base::KillProcess(process_handle, 0xc0000005, true);
base::CloseProcessHandle(process_handle);
diff --git a/chrome/browser/renderer_host/resource_message_filter.cc b/chrome/browser/renderer_host/resource_message_filter.cc
index 007c5fd..549fc6a 100644
--- a/chrome/browser/renderer_host/resource_message_filter.cc
+++ b/chrome/browser/renderer_host/resource_message_filter.cc
@@ -173,8 +173,11 @@ void ResourceMessageFilter::OnFilterAdded(IPC::Channel* channel) {
// Called on the IPC thread:
void ResourceMessageFilter::OnChannelConnected(int32 peer_pid) {
DCHECK(!handle());
- set_handle(base::OpenProcessHandle(peer_pid));
- DCHECK(handle());
+ base::ProcessHandle peer_handle;
+ if (!base::OpenProcessHandle(peer_pid, &peer_handle)) {
+ NOTREACHED();
+ }
+ set_handle(peer_handle);
// Hook AudioRendererHost to this object after channel is connected so it can
// this object for sending messages.
audio_renderer_host_->IPCChannelConnected(this);
diff --git a/chrome/plugin/plugin_channel.cc b/chrome/plugin/plugin_channel.cc
index 066bda3..1c6a809 100644
--- a/chrome/plugin/plugin_channel.cc
+++ b/chrome/plugin/plugin_channel.cc
@@ -100,7 +100,11 @@ int PluginChannel::GenerateRouteID() {
}
void PluginChannel::OnChannelConnected(int32 peer_pid) {
- renderer_handle_.Set(base::OpenProcessHandle(peer_pid));
+ base::ProcessHandle handle;
+ if (!base::OpenProcessHandle(peer_pid, &handle)) {
+ NOTREACHED();
+ }
+ renderer_handle_.Set(handle);
PluginChannelBase::OnChannelConnected(peer_pid);
}