Index: sandbox/win/src/broker_services.cc |
diff --git a/sandbox/win/src/broker_services.cc b/sandbox/win/src/broker_services.cc |
index 01c7cdd63b49f2894258e0c32bf8c70dec99809d..149218fa28eacd9366d9c2f471330191ce739b28 100644 |
--- a/sandbox/win/src/broker_services.cc |
+++ b/sandbox/win/src/broker_services.cc |
@@ -279,7 +279,8 @@ DWORD WINAPI BrokerServicesBase::TargetEventsThread(PVOID param) { |
case JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: { |
{ |
AutoLock lock(&broker->lock_); |
- broker->child_process_ids_.erase(reinterpret_cast<DWORD>(ovl)); |
+ broker->child_process_ids_.erase( |
+ static_cast<DWORD>(reinterpret_cast<uintptr_t>(ovl))); |
} |
--target_counter; |
if (0 == target_counter) |
@@ -308,8 +309,8 @@ DWORD WINAPI BrokerServicesBase::TargetEventsThread(PVOID param) { |
} else if (THREAD_CTRL_REMOVE_PEER == key) { |
// Remove a process from our list of peers. |
AutoLock lock(&broker->lock_); |
- PeerTrackerMap::iterator it = |
- broker->peer_map_.find(reinterpret_cast<DWORD>(ovl)); |
+ PeerTrackerMap::iterator it = broker->peer_map_.find( |
+ static_cast<DWORD>(reinterpret_cast<uintptr_t>(ovl))); |
DeregisterPeerTracker(it->second); |
broker->peer_map_.erase(it); |
} else if (THREAD_CTRL_QUIT == key) { |
@@ -542,8 +543,9 @@ bool BrokerServicesBase::IsActiveTarget(DWORD process_id) { |
VOID CALLBACK BrokerServicesBase::RemovePeer(PVOID parameter, BOOLEAN timeout) { |
PeerTracker* peer = reinterpret_cast<PeerTracker*>(parameter); |
// Don't check the return code because we this may fail (safely) at shutdown. |
- ::PostQueuedCompletionStatus(peer->job_port, 0, THREAD_CTRL_REMOVE_PEER, |
- reinterpret_cast<LPOVERLAPPED>(peer->id)); |
+ ::PostQueuedCompletionStatus( |
+ peer->job_port, 0, THREAD_CTRL_REMOVE_PEER, |
+ reinterpret_cast<LPOVERLAPPED>(static_cast<uintptr_t>(peer->id))); |
} |
ResultCode BrokerServicesBase::AddTargetPeer(HANDLE peer_process) { |