| OLD | NEW |
| 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/sandbox_nt_util.h" | 5 #include "sandbox/win/src/sandbox_nt_util.h" |
| 6 | 6 |
| 7 #include "base/win/pe_image.h" | 7 #include "base/win/pe_image.h" |
| 8 #include "sandbox/win/src/sandbox_factory.h" | 8 #include "sandbox/win/src/sandbox_factory.h" |
| 9 #include "sandbox/win/src/target_services.h" | 9 #include "sandbox/win/src/target_services.h" |
| 10 | 10 |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 330 } | 330 } |
| 331 | 331 |
| 332 if (!NT_SUCCESS(ret) && *out_name) { | 332 if (!NT_SUCCESS(ret) && *out_name) { |
| 333 operator delete(*out_name, NT_ALLOC); | 333 operator delete(*out_name, NT_ALLOC); |
| 334 *out_name = NULL; | 334 *out_name = NULL; |
| 335 } | 335 } |
| 336 | 336 |
| 337 return ret; | 337 return ret; |
| 338 } | 338 } |
| 339 | 339 |
| 340 NTSTATUS GetProcessId(HANDLE process, ULONG *process_id) { | 340 NTSTATUS GetProcessId(HANDLE process, DWORD *process_id) { |
| 341 PROCESS_BASIC_INFORMATION proc_info; | 341 PROCESS_BASIC_INFORMATION proc_info; |
| 342 ULONG bytes_returned; | 342 ULONG bytes_returned; |
| 343 | 343 |
| 344 NTSTATUS ret = g_nt.QueryInformationProcess(process, ProcessBasicInformation, | 344 NTSTATUS ret = g_nt.QueryInformationProcess(process, ProcessBasicInformation, |
| 345 &proc_info, sizeof(proc_info), | 345 &proc_info, sizeof(proc_info), |
| 346 &bytes_returned); | 346 &bytes_returned); |
| 347 if (!NT_SUCCESS(ret) || sizeof(proc_info) != bytes_returned) | 347 if (!NT_SUCCESS(ret) || sizeof(proc_info) != bytes_returned) |
| 348 return ret; | 348 return ret; |
| 349 | 349 |
| 350 *process_id = proc_info.UniqueProcessId; | 350 *process_id = static_cast<DWORD>(proc_info.UniqueProcessId); |
| 351 return STATUS_SUCCESS; | 351 return STATUS_SUCCESS; |
| 352 } | 352 } |
| 353 | 353 |
| 354 bool IsSameProcess(HANDLE process) { | 354 bool IsSameProcess(HANDLE process) { |
| 355 if (NtCurrentProcess == process) | 355 if (NtCurrentProcess == process) |
| 356 return true; | 356 return true; |
| 357 | 357 |
| 358 static ULONG s_process_id = 0; | 358 static DWORD s_process_id = 0; |
| 359 | 359 |
| 360 if (!s_process_id) { | 360 if (!s_process_id) { |
| 361 NTSTATUS ret = GetProcessId(NtCurrentProcess, &s_process_id); | 361 NTSTATUS ret = GetProcessId(NtCurrentProcess, &s_process_id); |
| 362 if (!NT_SUCCESS(ret)) | 362 if (!NT_SUCCESS(ret)) |
| 363 return false; | 363 return false; |
| 364 } | 364 } |
| 365 | 365 |
| 366 ULONG process_id; | 366 DWORD process_id; |
| 367 NTSTATUS ret = GetProcessId(process, &process_id); | 367 NTSTATUS ret = GetProcessId(process, &process_id); |
| 368 if (!NT_SUCCESS(ret)) | 368 if (!NT_SUCCESS(ret)) |
| 369 return false; | 369 return false; |
| 370 | 370 |
| 371 return (process_id == s_process_id); | 371 return (process_id == s_process_id); |
| 372 } | 372 } |
| 373 | 373 |
| 374 bool IsValidImageSection(HANDLE section, PVOID *base, PLARGE_INTEGER offset, | 374 bool IsValidImageSection(HANDLE section, PVOID *base, PLARGE_INTEGER offset, |
| 375 PSIZE_T view_size) { | 375 PSIZE_T view_size) { |
| 376 if (!section || !base || !view_size || offset) | 376 if (!section || !base || !view_size || offset) |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 UNREFERENCED_PARAMETER(type); | 670 UNREFERENCED_PARAMETER(type); |
| 671 return buffer; | 671 return buffer; |
| 672 } | 672 } |
| 673 | 673 |
| 674 void __cdecl operator delete(void* memory, void* buffer, | 674 void __cdecl operator delete(void* memory, void* buffer, |
| 675 sandbox::AllocationType type) { | 675 sandbox::AllocationType type) { |
| 676 UNREFERENCED_PARAMETER(memory); | 676 UNREFERENCED_PARAMETER(memory); |
| 677 UNREFERENCED_PARAMETER(buffer); | 677 UNREFERENCED_PARAMETER(buffer); |
| 678 UNREFERENCED_PARAMETER(type); | 678 UNREFERENCED_PARAMETER(type); |
| 679 } | 679 } |
| OLD | NEW |