fixed wrong refactoring

pull/5270/head
David Garcia Quintas 9 years ago
parent 723af53419
commit 057a0a2033
  1. 11
      src/cpp/common/core_codegen.cc

@ -231,21 +231,22 @@ Status CoreCodegen::DeserializeProto(grpc_byte_buffer* buffer,
if (buffer == nullptr) { if (buffer == nullptr) {
return Status(StatusCode::INTERNAL, "No payload"); return Status(StatusCode::INTERNAL, "No payload");
} }
Status result = Status::OK;
{
GrpcBufferReader reader(buffer); GrpcBufferReader reader(buffer);
::grpc::protobuf::io::CodedInputStream decoder(&reader); ::grpc::protobuf::io::CodedInputStream decoder(&reader);
if (max_message_size > 0) { if (max_message_size > 0) {
decoder.SetTotalBytesLimit(max_message_size, max_message_size); decoder.SetTotalBytesLimit(max_message_size, max_message_size);
} }
if (!msg->ParseFromCodedStream(&decoder)) { if (!msg->ParseFromCodedStream(&decoder)) {
grpc_byte_buffer_destroy(buffer); result = Status(StatusCode::INTERNAL, msg->InitializationErrorString());
return Status(StatusCode::INTERNAL, msg->InitializationErrorString());
} }
if (!decoder.ConsumedEntireMessage()) { if (!decoder.ConsumedEntireMessage()) {
grpc_byte_buffer_destroy(buffer); result = Status(StatusCode::INTERNAL, "Did not read entire message");
return Status(StatusCode::INTERNAL, "Did not read entire message"); }
} }
grpc_byte_buffer_destroy(buffer); grpc_byte_buffer_destroy(buffer);
return Status::OK; return result;
} }
} // namespace grpc } // namespace grpc

Loading…
Cancel
Save