1234567891011121314151617181920212223242526272829303132333435363738 |
- From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
- From: Cheng Zhao <[email protected]>
- Date: Tue, 4 Jun 2019 11:30:12 +0900
- Subject: crashpad_pid_check.patch
- When both browser process and renderer process are connecting to the pipe,
- the API may return the PID of browser process as real_pid, which is different
- from the PID of renderer process.
- This is caused by the crashReporter getting started after the sanbox, after
- we redesign crashReporter's API to make it alwasy start before the
- sanbox, we can remove this patch.
- See following links for more:
- https://github.com/electron/electron/pull/18483#discussion_r292703588
- https://github.com/electron/electron/pull/18483#issuecomment-501090683
- diff --git a/third_party/crashpad/crashpad/util/win/exception_handler_server.cc b/third_party/crashpad/crashpad/util/win/exception_handler_server.cc
- index 6890a01cc4b333927be6c36ff3392706020f57a3..36da005deed5893989585427216fd1e16d5e9f0c 100644
- --- a/third_party/crashpad/crashpad/util/win/exception_handler_server.cc
- +++ b/third_party/crashpad/crashpad/util/win/exception_handler_server.cc
- @@ -446,9 +446,16 @@ bool ExceptionHandlerServer::ServiceClientConnection(
- DWORD real_pid = 0;
- if (get_named_pipe_client_process_id(service_context.pipe(), &real_pid) &&
- message.registration.client_process_id != real_pid) {
- + // Electron: When both browser process and renderer process are connecting
- + // to the pipe, the API may return the PID of browser process as real_pid,
- + // which is different from the PID of renderer process.
- + //
- + // I don't understand why Chromium does not have this issue.
- +#if 0
- LOG(ERROR) << "forged client pid, real pid: " << real_pid
- << ", got: " << message.registration.client_process_id;
- return false;
- +#endif
- }
- }
-
|