| Index: util/mach/exc_server_variants.cc
|
| diff --git a/util/mach/exc_server_variants.cc b/util/mach/exc_server_variants.cc
|
| index c57492f9d994d4ea59b4976180b0bd9d0e56d829..46e8588250bbce2db9afdbadcd6909f8ebe49370 100644
|
| --- a/util/mach/exc_server_variants.cc
|
| +++ b/util/mach/exc_server_variants.cc
|
| @@ -20,6 +20,7 @@
|
| #include "base/basictypes.h"
|
| #include "base/logging.h"
|
| #include "util/mach/exc.h"
|
| +#include "util/mach/exception_behaviors.h"
|
| #include "util/mach/excServer.h"
|
| #include "util/mach/mach_exc.h"
|
| #include "util/mach/mach_excServer.h"
|
| @@ -247,8 +248,8 @@ bool ExcServer::MachMessageServerFunction(const mach_msg_header_t* in_header,
|
| // in_request_1 is used for the portion of the request after the codes,
|
| // which in theory can be variable-length. The check function will set it.
|
| const Request* in_request_1;
|
| - kern_return_t kr = MIGCheckRequestExceptionRaiseState(
|
| - in_request, &in_request_1);
|
| + kern_return_t kr =
|
| + MIGCheckRequestExceptionRaiseState(in_request, &in_request_1);
|
| if (kr != MACH_MSG_SUCCESS) {
|
| SetReplyError(out_header, kr);
|
| return true;
|
| @@ -287,8 +288,8 @@ bool ExcServer::MachMessageServerFunction(const mach_msg_header_t* in_header,
|
| // in_request_1 is used for the portion of the request after the codes,
|
| // which in theory can be variable-length. The check function will set it.
|
| const Request* in_request_1;
|
| - kern_return_t kr = MIGCheckRequestExceptionRaiseStateIdentity(
|
| - in_request, &in_request_1);
|
| + kern_return_t kr =
|
| + MIGCheckRequestExceptionRaiseStateIdentity(in_request, &in_request_1);
|
| if (kr != MACH_MSG_SUCCESS) {
|
| SetReplyError(out_header, kr);
|
| return true;
|
| @@ -382,8 +383,8 @@ bool MachExcServer::MachMessageServerFunction(
|
| // in_request_1 is used for the portion of the request after the codes,
|
| // which in theory can be variable-length. The check function will set it.
|
| const Request* in_request_1;
|
| - kern_return_t kr = MIGCheckRequestMachExceptionRaiseState(
|
| - in_request, &in_request_1);
|
| + kern_return_t kr =
|
| + MIGCheckRequestMachExceptionRaiseState(in_request, &in_request_1);
|
| if (kr != MACH_MSG_SUCCESS) {
|
| SetReplyError(out_header, kr);
|
| return true;
|
| @@ -722,4 +723,13 @@ kern_return_t UniversalMachExcServer::CatchException(
|
| destroy_complex_request);
|
| }
|
|
|
| +kern_return_t ExcServerSuccessfulReturnValue(exception_behavior_t behavior,
|
| + bool set_thread_state) {
|
| + if (!set_thread_state && ExceptionBehaviorHasState(behavior)) {
|
| + return MACH_RCV_PORT_DIED;
|
| + }
|
| +
|
| + return KERN_SUCCESS;
|
| +}
|
| +
|
| } // namespace crashpad
|
|
|