summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/Outgoing.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpp/src/Ice/Outgoing.cpp b/cpp/src/Ice/Outgoing.cpp
index c97d5cb3d16..d1e91bbe85f 100644
--- a/cpp/src/Ice/Outgoing.cpp
+++ b/cpp/src/Ice/Outgoing.cpp
@@ -501,7 +501,8 @@ Outgoing::completed(InputStream& is)
ex->id = ident;
ex->facet = facet;
ex->operation = operation;
- ICE_RESET_EXCEPTION(_exception, ex);
+ ICE_RESET_EXCEPTION(_exception, ex->ice_clone());
+ delete ex;
_state = StateLocalException; // The state must be set last, in case there is an exception.
break;
}