summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-15 23:41:54 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-15 23:41:54 +0000
commit1f4784e246056d268b486940bb679a8de2dcbd3d (patch)
tree54c0227d4263d53b30258f27b4a0b6eee98c8851
parenteb58e8f7b71240707e1f277a446985eaebc450f7 (diff)
downloadchromium_src-1f4784e246056d268b486940bb679a8de2dcbd3d.zip
chromium_src-1f4784e246056d268b486940bb679a8de2dcbd3d.tar.gz
chromium_src-1f4784e246056d268b486940bb679a8de2dcbd3d.tar.bz2
Use base::wcslcpy rather than wcscpy_s throughout breakpad_win.cc
The difference is that base::wcslcpy will gracefully handle inputs which are larger than the buffer (by truncating), whereas wcscpy_s will abort the program. It is not desirable to crash the program because one of the metadata strings was larger than expected. Review URL: http://codereview.chromium.org/7891034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101414 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/app/breakpad_win.cc54
1 files changed, 27 insertions, 27 deletions
diff --git a/chrome/app/breakpad_win.cc b/chrome/app/breakpad_win.cc
index 63014d5..dd1325a 100644
--- a/chrome/app/breakpad_win.cc
+++ b/chrome/app/breakpad_win.cc
@@ -99,9 +99,9 @@ static void SetIntegerValue(size_t offset, int value) {
if (!g_custom_entries)
return;
- wcscpy_s((*g_custom_entries)[offset].value,
- google_breakpad::CustomInfoEntry::kValueMaxLength,
- base::StringPrintf(L"%d", value).c_str());
+ base::wcslcpy((*g_custom_entries)[offset].value,
+ base::StringPrintf(L"%d", value).c_str(),
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
}
extern "C" void __declspec(dllexport) __cdecl SetCommandLine(
@@ -120,9 +120,9 @@ extern "C" void __declspec(dllexport) __cdecl SetCommandLine(
++argv_i, ++num_added) {
// TODO(eroman): Filter out flags which aren't useful and just add bloat
// to the report.
- wcsncpy((*g_custom_entries)[g_switches_offset + num_added].value,
- argv[argv_i].c_str(),
- google_breakpad::CustomInfoEntry::kValueMaxLength);
+ base::wcslcpy((*g_custom_entries)[g_switches_offset + num_added].value,
+ argv[argv_i].c_str(),
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
}
// Make note of the total number of switches. This is useful in case we have
@@ -371,9 +371,9 @@ extern "C" void __declspec(dllexport) __cdecl SetClientId(
if (!g_custom_entries)
return;
- wcscpy_s((*g_custom_entries)[g_client_id_offset].value,
- google_breakpad::CustomInfoEntry::kValueMaxLength,
- client_id);
+ base::wcslcpy((*g_custom_entries)[g_client_id_offset].value,
+ client_id,
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
}
extern "C" void __declspec(dllexport) __cdecl SetNumberOfExtensions(
@@ -389,9 +389,9 @@ extern "C" void __declspec(dllexport) __cdecl SetExtensionID(
if (!g_custom_entries)
return;
- wcscpy_s((*g_custom_entries)[g_extension_ids_offset + index].value,
- google_breakpad::CustomInfoEntry::kValueMaxLength,
- id);
+ base::wcslcpy((*g_custom_entries)[g_extension_ids_offset + index].value,
+ id,
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
}
extern "C" void __declspec(dllexport) __cdecl SetGpuInfo(
@@ -401,21 +401,21 @@ extern "C" void __declspec(dllexport) __cdecl SetGpuInfo(
if (!g_custom_entries)
return;
- wcscpy_s((*g_custom_entries)[g_gpu_info_offset].value,
- google_breakpad::CustomInfoEntry::kValueMaxLength,
- vendor_id);
- wcscpy_s((*g_custom_entries)[g_gpu_info_offset+1].value,
- google_breakpad::CustomInfoEntry::kValueMaxLength,
- device_id);
- wcscpy_s((*g_custom_entries)[g_gpu_info_offset+2].value,
- google_breakpad::CustomInfoEntry::kValueMaxLength,
- driver_version);
- wcscpy_s((*g_custom_entries)[g_gpu_info_offset+3].value,
- google_breakpad::CustomInfoEntry::kValueMaxLength,
- pixel_shader_version);
- wcscpy_s((*g_custom_entries)[g_gpu_info_offset+4].value,
- google_breakpad::CustomInfoEntry::kValueMaxLength,
- vertex_shader_version);
+ base::wcslcpy((*g_custom_entries)[g_gpu_info_offset].value,
+ vendor_id,
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
+ base::wcslcpy((*g_custom_entries)[g_gpu_info_offset+1].value,
+ device_id,
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
+ base::wcslcpy((*g_custom_entries)[g_gpu_info_offset+2].value,
+ driver_version,
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
+ base::wcslcpy((*g_custom_entries)[g_gpu_info_offset+3].value,
+ pixel_shader_version,
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
+ base::wcslcpy((*g_custom_entries)[g_gpu_info_offset+4].value,
+ vertex_shader_version,
+ google_breakpad::CustomInfoEntry::kValueMaxLength);
}
extern "C" void __declspec(dllexport) __cdecl SetNumberOfViews(