Index: tools/mac/catch_exception_tool.cc |
diff --git a/tools/mac/catch_exception_tool.cc b/tools/mac/catch_exception_tool.cc |
index 016ff4c3757c5909504c18bbc3e6c25cfc771868..eb97befb444b5c8e2b4c0acfbaaa33bbccf90174 100644 |
--- a/tools/mac/catch_exception_tool.cc |
+++ b/tools/mac/catch_exception_tool.cc |
@@ -133,13 +133,6 @@ class ExceptionServer : public UniversalMachExcServer::Interface { |
} |
if (ExceptionBehaviorHasState(behavior)) { |
- // If this is a state-carrying exception, make new_state something valid. |
- memcpy( |
- new_state, |
- old_state, |
- std::min(old_state_count, *new_state_count) * sizeof(old_state[0])); |
- *new_state_count = old_state_count; |
- |
std::string flavor_string = |
ThreadStateFlavorToString(*flavor, kUseFullName | kUnknownIsNumeric); |
fprintf(options_.file, |
@@ -156,6 +149,9 @@ class ExceptionServer : public UniversalMachExcServer::Interface { |
return KERN_FAILURE; |
} |
+ ExcServerCopyState( |
+ behavior, old_state, old_state_count, new_state, new_state_count); |
+ |
return ExcServerSuccessfulReturnValue(behavior, false); |
} |