| Index: util/win/exception_handler_server.cc
|
| diff --git a/util/win/exception_handler_server.cc b/util/win/exception_handler_server.cc
|
| index 50a5fa3c509021cb4fe28eb6bf875e34bd243e83..bcdec6a21d43b10ed14b077bc0b6f2d69ebb5038 100644
|
| --- a/util/win/exception_handler_server.cc
|
| +++ b/util/win/exception_handler_server.cc
|
| @@ -17,6 +17,7 @@
|
| #include <string.h>
|
|
|
| #include "base/logging.h"
|
| +#include "base/numerics/safe_conversions.h"
|
| #include "base/rand_util.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| @@ -351,7 +352,7 @@ bool ExceptionHandlerServer::ServiceClientConnection(
|
| PLOG(ERROR) << "ImpersonateNamedPipeClient";
|
| return false;
|
| }
|
| - HANDLE client_process = OpenProcess(
|
| + client_process = OpenProcess(
|
| kXPProcessAllAccess, false, message.registration.client_process_id);
|
| PCHECK(RevertToSelf());
|
| if (!client_process) {
|
| @@ -375,8 +376,9 @@ bool ExceptionHandlerServer::ServiceClientConnection(
|
|
|
| // Duplicate the events back to the client so they can request a dump.
|
| ServerToClientMessage response;
|
| - response.registration.request_report_event = reinterpret_cast<uint32_t>(
|
| - DuplicateEvent(client->process(), client->dump_requested_event()));
|
| + response.registration.request_report_event =
|
| + base::checked_cast<uint32_t>(reinterpret_cast<uintptr_t>(
|
| + DuplicateEvent(client->process(), client->dump_requested_event())));
|
|
|
| if (!LoggingWriteFile(service_context.pipe(), &response, sizeof(response)))
|
| return false;
|
|
|