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:
doshimun 2008-05-08 18:15:07 +00:00
parent 8602aa71ec
commit 7ab126ecdd
5 changed files with 16 additions and 7 deletions

View file

@ -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) {

View file

@ -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

View file

@ -93,7 +93,7 @@ class ClientInfo {
bool PopulateCustomInfo();
// Returns the client custom information.
const CustomClientInfo& GetCustomInfo() const;
CustomClientInfo GetCustomInfo() const;
private:
// Crash generation server.

View file

@ -326,6 +326,10 @@
RelativePath=".\minidump_generator.h"
>
</File>
<File
RelativePath="..\..\..\common\windows\string_utils-inl.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"

View file

@ -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;
}