ice
ice copied to clipboard
Bogus handling on empty result in InvokeLambdaOutgoing
{0, 0} is some times substitute by std::parit<const Byte*, const Byte*> which is ok, representing an empty buffer.
But we also replace it by using Outgoing = ::IceInternal::InvokeLambdaOutgoing<::Ice::Object::Ice_invokeResult>; in with case it ends up converted into a vector<Byte> {0, 0} witch is incorrect.
https://github.com/zeroc-ice/ice/blob/56528a30119fae9c03bb3cb19a7d0decae5f4ebf/cpp/include/Ice/Proxy.h#L166C38-L166C46
There is a similar issue with InvokePromiseOutgoing
https://github.com/zeroc-ice/ice/blob/56528a30119fae9c03bb3cb19a7d0decae5f4ebf/cpp/include/Ice/Proxy.h#L190
I included a fix for the later on https://github.com/zeroc-ice/ice/pull/1727