| 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;
 | 
| 
 |