diff options
author | ivan.penkov@gmail.com <ivan.penkov@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2013-05-20 18:55:54 +0000 |
---|---|---|
committer | ivan.penkov@gmail.com <ivan.penkov@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2013-05-20 18:55:54 +0000 |
commit | e4d3cca3efe386a9d87849dc64e686eb2339fec1 (patch) | |
tree | dd9b812121eedbe9f1b136ed06431b8daeef2d8f /src/client/windows/crash_generation/crash_generation_server.cc | |
parent | Ensure a proper LinuxDumper::crash_thread_ value (diff) | |
download | breakpad-e4d3cca3efe386a9d87849dc64e686eb2339fec1.tar.xz |
Submitting this on behalf of Xiaoling Bao.
Make custom info population before dump generation as an optional operation. This is part of a security change to move the crash generation and upload out of Google updater process.
Review URL: https://breakpad.appspot.com/586003
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1186 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/windows/crash_generation/crash_generation_server.cc')
-rw-r--r-- | src/client/windows/crash_generation/crash_generation_server.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/client/windows/crash_generation/crash_generation_server.cc b/src/client/windows/crash_generation/crash_generation_server.cc index 676dec2d..b98fb5e0 100644 --- a/src/client/windows/crash_generation/crash_generation_server.cc +++ b/src/client/windows/crash_generation/crash_generation_server.cc @@ -116,7 +116,8 @@ CrashGenerationServer::CrashGenerationServer( server_state_(IPC_SERVER_STATE_UNINITIALIZED), shutting_down_(false), overlapped_(), - client_info_(NULL) { + client_info_(NULL), + pre_fetch_custom_info_(true) { InitializeCriticalSection(&sync_); if (dump_path) { @@ -198,7 +199,7 @@ CrashGenerationServer::~CrashGenerationServer() { if (overlapped_.hEvent) { CloseHandle(overlapped_.hEvent); } - + DeleteCriticalSection(&sync_); } @@ -831,10 +832,12 @@ void CALLBACK CrashGenerationServer::OnPipeConnected(void* context, BOOLEAN) { void CALLBACK CrashGenerationServer::OnDumpRequest(void* context, BOOLEAN) { assert(context); ClientInfo* client_info = reinterpret_cast<ClientInfo*>(context); - client_info->PopulateCustomInfo(); CrashGenerationServer* crash_server = client_info->crash_server(); assert(crash_server); + if (crash_server->pre_fetch_custom_info_) { + client_info->PopulateCustomInfo(); + } crash_server->HandleDumpRequest(*client_info); ResetEvent(client_info->dump_requested_handle()); |