Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(270)

Side by Side Diff: sandbox/win/src/broker_services.cc

Issue 1119783002: vs2015: fix narrowing warnings in sandbox/win/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2015-printing-emf
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | sandbox/win/src/eat_resolver.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sandbox/win/src/broker_services.h" 5 #include "sandbox/win/src/broker_services.h"
6 6
7 #include <AclAPI.h> 7 #include <AclAPI.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 if (1 == target_counter) { 272 if (1 == target_counter) {
273 ::ResetEvent(no_targets); 273 ::ResetEvent(no_targets);
274 } 274 }
275 break; 275 break;
276 } 276 }
277 277
278 case JOB_OBJECT_MSG_EXIT_PROCESS: 278 case JOB_OBJECT_MSG_EXIT_PROCESS:
279 case JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: { 279 case JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: {
280 { 280 {
281 AutoLock lock(&broker->lock_); 281 AutoLock lock(&broker->lock_);
282 broker->child_process_ids_.erase(reinterpret_cast<DWORD>(ovl)); 282 broker->child_process_ids_.erase(
283 static_cast<DWORD>(reinterpret_cast<uintptr_t>(ovl)));
283 } 284 }
284 --target_counter; 285 --target_counter;
285 if (0 == target_counter) 286 if (0 == target_counter)
286 ::SetEvent(no_targets); 287 ::SetEvent(no_targets);
287 288
288 DCHECK(target_counter >= 0); 289 DCHECK(target_counter >= 0);
289 break; 290 break;
290 } 291 }
291 292
292 case JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT: { 293 case JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT: {
293 break; 294 break;
294 } 295 }
295 296
296 case JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT: { 297 case JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT: {
297 BOOL res = ::TerminateJobObject(tracker->job, 298 BOOL res = ::TerminateJobObject(tracker->job,
298 SBOX_FATAL_MEMORY_EXCEEDED); 299 SBOX_FATAL_MEMORY_EXCEEDED);
299 DCHECK(res); 300 DCHECK(res);
300 break; 301 break;
301 } 302 }
302 303
303 default: { 304 default: {
304 NOTREACHED(); 305 NOTREACHED();
305 break; 306 break;
306 } 307 }
307 } 308 }
308 } else if (THREAD_CTRL_REMOVE_PEER == key) { 309 } else if (THREAD_CTRL_REMOVE_PEER == key) {
309 // Remove a process from our list of peers. 310 // Remove a process from our list of peers.
310 AutoLock lock(&broker->lock_); 311 AutoLock lock(&broker->lock_);
311 PeerTrackerMap::iterator it = 312 PeerTrackerMap::iterator it = broker->peer_map_.find(
312 broker->peer_map_.find(reinterpret_cast<DWORD>(ovl)); 313 static_cast<DWORD>(reinterpret_cast<uintptr_t>(ovl)));
313 DeregisterPeerTracker(it->second); 314 DeregisterPeerTracker(it->second);
314 broker->peer_map_.erase(it); 315 broker->peer_map_.erase(it);
315 } else if (THREAD_CTRL_QUIT == key) { 316 } else if (THREAD_CTRL_QUIT == key) {
316 // The broker object is being destroyed so the thread needs to exit. 317 // The broker object is being destroyed so the thread needs to exit.
317 return 0; 318 return 0;
318 } else { 319 } else {
319 // We have not implemented more commands. 320 // We have not implemented more commands.
320 NOTREACHED(); 321 NOTREACHED();
321 } 322 }
322 } 323 }
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 536
536 bool BrokerServicesBase::IsActiveTarget(DWORD process_id) { 537 bool BrokerServicesBase::IsActiveTarget(DWORD process_id) {
537 AutoLock lock(&lock_); 538 AutoLock lock(&lock_);
538 return child_process_ids_.find(process_id) != child_process_ids_.end() || 539 return child_process_ids_.find(process_id) != child_process_ids_.end() ||
539 peer_map_.find(process_id) != peer_map_.end(); 540 peer_map_.find(process_id) != peer_map_.end();
540 } 541 }
541 542
542 VOID CALLBACK BrokerServicesBase::RemovePeer(PVOID parameter, BOOLEAN timeout) { 543 VOID CALLBACK BrokerServicesBase::RemovePeer(PVOID parameter, BOOLEAN timeout) {
543 PeerTracker* peer = reinterpret_cast<PeerTracker*>(parameter); 544 PeerTracker* peer = reinterpret_cast<PeerTracker*>(parameter);
544 // Don't check the return code because we this may fail (safely) at shutdown. 545 // Don't check the return code because we this may fail (safely) at shutdown.
545 ::PostQueuedCompletionStatus(peer->job_port, 0, THREAD_CTRL_REMOVE_PEER, 546 ::PostQueuedCompletionStatus(
546 reinterpret_cast<LPOVERLAPPED>(peer->id)); 547 peer->job_port, 0, THREAD_CTRL_REMOVE_PEER,
548 reinterpret_cast<LPOVERLAPPED>(static_cast<uintptr_t>(peer->id)));
547 } 549 }
548 550
549 ResultCode BrokerServicesBase::AddTargetPeer(HANDLE peer_process) { 551 ResultCode BrokerServicesBase::AddTargetPeer(HANDLE peer_process) {
550 scoped_ptr<PeerTracker> peer(new PeerTracker(::GetProcessId(peer_process), 552 scoped_ptr<PeerTracker> peer(new PeerTracker(::GetProcessId(peer_process),
551 job_port_)); 553 job_port_));
552 if (!peer->id) 554 if (!peer->id)
553 return SBOX_ERROR_GENERIC; 555 return SBOX_ERROR_GENERIC;
554 556
555 HANDLE process_handle; 557 HANDLE process_handle;
556 if (!::DuplicateHandle(::GetCurrentProcess(), peer_process, 558 if (!::DuplicateHandle(::GetCurrentProcess(), peer_process,
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 return SBOX_ERROR_UNSUPPORTED; 598 return SBOX_ERROR_UNSUPPORTED;
597 599
598 base::string16 name = LookupAppContainer(sid); 600 base::string16 name = LookupAppContainer(sid);
599 if (name.empty()) 601 if (name.empty())
600 return SBOX_ERROR_INVALID_APP_CONTAINER; 602 return SBOX_ERROR_INVALID_APP_CONTAINER;
601 603
602 return DeleteAppContainer(sid); 604 return DeleteAppContainer(sid);
603 } 605 }
604 606
605 } // namespace sandbox 607 } // namespace sandbox
OLDNEW
« no previous file with comments | « no previous file | sandbox/win/src/eat_resolver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698