Index: base/process_util_win.cc |
diff --git a/base/process_util_win.cc b/base/process_util_win.cc |
index 5fadf4ac6430d7c808306d10aeffd143658b6c33..22301057747fd9ec313e0cac731fda6589d6c269 100644 |
--- a/base/process_util_win.cc |
+++ b/base/process_util_win.cc |
@@ -50,18 +50,6 @@ static const int kWaitInterval = 2000; |
// process goes away. |
const DWORD kProcessKilledExitCode = 1; |
-// HeapSetInformation function pointer. |
-typedef BOOL (WINAPI* HeapSetFn)(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T); |
- |
-void OnNoMemory() { |
- // Kill the process. This is important for security, since WebKit doesn't |
- // NULL-check many memory allocations. If a malloc fails, returns NULL, and |
- // the buffer is then used, it provides a handy mapping of memory starting at |
- // address 0 for an attacker to utilize. |
- __debugbreak(); |
- _exit(1); |
-} |
- |
class TimerExpiredTask : public win::ObjectWatcher::Delegate { |
public: |
explicit TimerExpiredTask(ProcessHandle process); |
@@ -183,17 +171,6 @@ ProcessHandle GetCurrentProcessHandle() { |
return ::GetCurrentProcess(); |
} |
-HMODULE GetModuleFromAddress(void* address) { |
- HMODULE instance = NULL; |
- if (!::GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | |
- GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, |
- static_cast<char*>(address), |
- &instance)) { |
- NOTREACHED(); |
- } |
- return instance; |
-} |
- |
bool OpenProcessHandle(ProcessId pid, ProcessHandle* handle) { |
// We try to limit privileges granted to the handle. If you need this |
// for test code, consider using OpenPrivilegedProcessHandle instead of |
@@ -632,50 +609,6 @@ void EnsureProcessTerminated(ProcessHandle process) { |
base::TimeDelta::FromMilliseconds(kWaitInterval)); |
} |
-bool EnableLowFragmentationHeap() { |
- HMODULE kernel32 = GetModuleHandle(L"kernel32.dll"); |
- HeapSetFn heap_set = reinterpret_cast<HeapSetFn>(GetProcAddress( |
- kernel32, |
- "HeapSetInformation")); |
- |
- // On Windows 2000, the function is not exported. This is not a reason to |
- // fail. |
- if (!heap_set) |
- return true; |
- |
- unsigned number_heaps = GetProcessHeaps(0, NULL); |
- if (!number_heaps) |
- return false; |
- |
- // Gives us some extra space in the array in case a thread is creating heaps |
- // at the same time we're querying them. |
- static const int MARGIN = 8; |
- scoped_ptr<HANDLE[]> heaps(new HANDLE[number_heaps + MARGIN]); |
- number_heaps = GetProcessHeaps(number_heaps + MARGIN, heaps.get()); |
- if (!number_heaps) |
- return false; |
- |
- for (unsigned i = 0; i < number_heaps; ++i) { |
- ULONG lfh_flag = 2; |
- // Don't bother with the result code. It may fails on heaps that have the |
- // HEAP_NO_SERIALIZE flag. This is expected and not a problem at all. |
- heap_set(heaps[i], |
- HeapCompatibilityInformation, |
- &lfh_flag, |
- sizeof(lfh_flag)); |
- } |
- return true; |
-} |
- |
-void EnableTerminationOnHeapCorruption() { |
- // Ignore the result code. Supported on XP SP3 and Vista. |
- HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0); |
-} |
- |
-void EnableTerminationOnOutOfMemory() { |
- std::set_new_handler(&OnNoMemory); |
-} |
- |
void RaiseProcessToHighPriority() { |
SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS); |
} |