| Index: chrome/browser/renderer_host/render_crash_handler_host_linux.cc
|
| ===================================================================
|
| --- chrome/browser/renderer_host/render_crash_handler_host_linux.cc (revision 17371)
|
| +++ chrome/browser/renderer_host/render_crash_handler_host_linux.cc (working copy)
|
| @@ -82,10 +82,11 @@
|
| static const unsigned kCrashContextSize =
|
| sizeof(google_breakpad::ExceptionHandler::CrashContext);
|
| static const unsigned kMaxActiveURLSize = 1024;
|
| + static const unsigned kGuidSize = 32; // 128 bits = 32 chars in hex.
|
|
|
| struct msghdr msg = {0};
|
| struct iovec iov;
|
| - char context[kCrashContextSize + kMaxActiveURLSize];
|
| + char context[kCrashContextSize + kMaxActiveURLSize + kGuidSize];
|
| char control[kControlMsgSize];
|
| iov.iov_base = context;
|
| iov.iov_len = sizeof(context);
|
| @@ -116,11 +117,13 @@
|
| return;
|
| }
|
|
|
| - // Anything in the message contents after the crash context is the crashing
|
| - // URL.
|
| - const char* const crash_url = &context[kCrashContextSize];
|
| - const unsigned crash_url_len = n - kCrashContextSize;
|
| + // After the message contents we have the guid.
|
| + const char* const guid = &context[kCrashContextSize];
|
|
|
| + // Anything in the guid after the crash context is the crashing URL.
|
| + const char* const crash_url = &context[kCrashContextSize + kGuidSize];
|
| + const unsigned crash_url_len = n - kCrashContextSize - kGuidSize;
|
| +
|
| // Walk the control payload an extract the file descriptor and validated pid.
|
| pid_t crashing_pid = -1;
|
| int signal_fd = -1;
|
| @@ -179,7 +182,9 @@
|
| HANDLE_EINTR(sendmsg(signal_fd, &msg, MSG_DONTWAIT | MSG_NOSIGNAL));
|
| HANDLE_EINTR(close(signal_fd));
|
|
|
| - UploadCrashDump(minidump_filename.c_str(), crash_url, crash_url_len);
|
| + UploadCrashDump(minidump_filename.c_str(),
|
| + crash_url, crash_url_len,
|
| + guid, kGuidSize);
|
| }
|
|
|
| void RenderCrashHandlerHostLinux::WillDestroyCurrentMessageLoop() {
|
|
|