diff options
Diffstat (limited to 'cpp/src/Ice/Object.cpp')
-rw-r--r-- | cpp/src/Ice/Object.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp index 6e12657f4b7..8cce4a577a0 100644 --- a/cpp/src/Ice/Object.cpp +++ b/cpp/src/Ice/Object.cpp @@ -313,7 +313,14 @@ Ice::Blobject::__dispatch(Incoming& in, const Current& current) in.readParamEncaps(inEncaps, sz); vector<Byte> outEncaps; bool ok = ice_invoke(vector<Byte>(inEncaps, inEncaps + sz), outEncaps, current); - in.__writeParamEncaps(&outEncaps[0], outEncaps.size(), ok); + if(outEncaps.empty()) + { + in.__writeParamEncaps(0, 0, ok); + } + else + { + in.__writeParamEncaps(&outEncaps[0], outEncaps.size(), ok); + } if(ok) { return DispatchOK; |