[C++] Fix memory leak when using grpc (#6896) (#6897)

This commit is contained in:
xuyatian
2021-10-18 11:24:52 -07:00
committed by GitHub
parent 9a4ca2764c
commit e672dabfea

View File

@@ -276,10 +276,12 @@ template<class T> class SerializationTraits<flatbuffers::grpc::Message<T>> {
Slice slice; Slice slice;
if (!buf->TrySingleSlice(&slice).ok()) { if (!buf->TrySingleSlice(&slice).ok()) {
if (!buf->DumpToSingleSlice(&slice).ok()) { if (!buf->DumpToSingleSlice(&slice).ok()) {
buf->Clear();
return ::grpc::Status(::grpc::StatusCode::INTERNAL, "No payload"); return ::grpc::Status(::grpc::StatusCode::INTERNAL, "No payload");
} }
} }
*msg = flatbuffers::grpc::Message<T>(slice); *msg = flatbuffers::grpc::Message<T>(slice);
buf->Clear();
#if FLATBUFFERS_GRPC_DISABLE_AUTO_VERIFICATION #if FLATBUFFERS_GRPC_DISABLE_AUTO_VERIFICATION
return ::grpc::Status::OK; return ::grpc::Status::OK;
#else #else