sf_recv_response_header check recv length for rdma

support_rdma
YuQing 2023-09-24 14:31:37 +08:00
parent fee1e28348
commit cd1920872a
1 changed files with 7 additions and 0 deletions

View File

@ -107,6 +107,13 @@ static inline int sf_recv_response_header(ConnectionInfo *conn,
if (conn->comm_type == fc_comm_type_rdma) {
buffer = G_RDMA_CONNECTION_CALLBACKS.get_buffer(conn);
if (buffer->length < sizeof(SFCommonProtoHeader)) {
response->error.length = sprintf(response->error.message,
"recv pkg length: %d < header size: %d",
buffer->length, (int)sizeof(SFCommonProtoHeader));
return EINVAL;
}
if ((result=sf_proto_parse_header((SFCommonProtoHeader *)
buffer->buff, response)) != 0)
{