[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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 2 additions and 0 deletions

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