Replace the user of wcscpy_s with safe_wcscpy in common/windows/string_utils-inl.h to
make the code compatible for teams that still use VS 2003 to build. Fix a bug in client ClientInfo class that returned CustomClientInfo struct containing a pointer in the client process address space instead of pointer to in-process data structure. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@271 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
8602aa71ec
commit
7ab126ecdd
5 changed files with 16 additions and 7 deletions
|
@ -34,6 +34,7 @@
|
|||
#include <DbgHelp.h>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
#include "common/windows/string_utils-inl.h"
|
||||
#include "google_breakpad/common/minidump_format.h"
|
||||
|
||||
namespace google_breakpad {
|
||||
|
@ -60,7 +61,7 @@ struct CustomInfoEntry {
|
|||
name[0] = L'\0';
|
||||
return;
|
||||
}
|
||||
wcscpy_s(name, kNameMaxLength, name_arg);
|
||||
WindowsStringUtils::safe_wcscpy(name, kNameMaxLength, name_arg);
|
||||
}
|
||||
|
||||
void set_value(const wchar_t* value_arg) {
|
||||
|
@ -68,7 +69,8 @@ struct CustomInfoEntry {
|
|||
value[0] = L'\0';
|
||||
return;
|
||||
}
|
||||
wcscpy_s(value, kValueMaxLength, value_arg);
|
||||
|
||||
WindowsStringUtils::safe_wcscpy(value, kValueMaxLength, value_arg);
|
||||
}
|
||||
|
||||
void set(const wchar_t* name_arg, const wchar_t* value_arg) {
|
||||
|
|
|
@ -169,8 +169,11 @@ bool ClientInfo::PopulateCustomInfo() {
|
|||
return bytes_count == read_count;
|
||||
}
|
||||
|
||||
const CustomClientInfo& ClientInfo::GetCustomInfo() const {
|
||||
return custom_client_info_;
|
||||
CustomClientInfo ClientInfo::GetCustomInfo() const {
|
||||
CustomClientInfo custom_info;
|
||||
custom_info.entries = custom_info_entries_.get();
|
||||
custom_info.count = custom_client_info_.count;
|
||||
return custom_info;
|
||||
}
|
||||
|
||||
} // namespace google_breakpad
|
||||
|
|
|
@ -93,7 +93,7 @@ class ClientInfo {
|
|||
bool PopulateCustomInfo();
|
||||
|
||||
// Returns the client custom information.
|
||||
const CustomClientInfo& GetCustomInfo() const;
|
||||
CustomClientInfo GetCustomInfo() const;
|
||||
|
||||
private:
|
||||
// Crash generation server.
|
||||
|
|
|
@ -326,6 +326,10 @@
|
|||
RelativePath=".\minidump_generator.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\..\common\windows\string_utils-inl.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
namespace google_breakpad {
|
||||
|
||||
const int kMaxLoadString = 100;
|
||||
const wchar_t kPipeName[] = L"\\\\.\\pipe\\GoogleCrashServices-Testing";
|
||||
const wchar_t kPipeName[] = L"\\\\.\\pipe\\GoogleCrashServices\\S-1-5-21-39260824-743453154-142223018-195347";
|
||||
|
||||
const DWORD kEditBoxStyles = WS_CHILD |
|
||||
WS_VISIBLE |
|
||||
|
@ -221,7 +221,7 @@ static void _cdecl ShowClientCrashed(void* context,
|
|||
|
||||
QueueUserWorkItem(AppendTextWorker, line, WT_EXECUTEDEFAULT);
|
||||
|
||||
const CustomClientInfo& custom_info = client_info->GetCustomInfo();
|
||||
CustomClientInfo custom_info = client_info->GetCustomInfo();
|
||||
if (custom_info.count <= 0) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue