Skip to content

Commit

Permalink
Fix vendor request size
Browse files Browse the repository at this point in the history
The pointer of Vendor Defined Request is moved, then the request size should be adjusted accordingly.
  • Loading branch information
m-milinkovic committed Apr 18, 2024
1 parent 45902d2 commit 4a36e89
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions library/spdm_responder_lib/libspdm_rsp_vendor_response.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ libspdm_return_t libspdm_get_vendor_defined_response(libspdm_context_t *spdm_con
const uint8_t *req_vendor_id;
const uint8_t *req_data;
uint16_t resp_size = 0;
uint16_t req_size = 0;

/* -=[Check Parameters Phase]=- */
if (request == NULL ||
Expand Down Expand Up @@ -168,7 +169,11 @@ libspdm_return_t libspdm_get_vendor_defined_response(libspdm_context_t *spdm_con
sizeof(spdm_vendor_defined_response_msg_t);
req_data = ((const uint8_t *)request) +
sizeof(spdm_vendor_defined_request_msg_t) +
((const spdm_vendor_defined_response_msg_t*)request)->len +
((const spdm_vendor_defined_request_msg_t*)request)->len +
sizeof(uint16_t);
req_size = (uint16_t)request_size -
sizeof(spdm_vendor_defined_request_msg_t) -
((const spdm_vendor_defined_request_msg_t*)request)->len -
sizeof(uint16_t);

status = spdm_context->vendor_response_get_id(
Expand All @@ -185,7 +190,7 @@ libspdm_return_t libspdm_get_vendor_defined_response(libspdm_context_t *spdm_con
status = spdm_context->vendor_response_callback(spdm_context,
spdm_request->standard_id,
spdm_request->len,
req_vendor_id, (uint16_t)request_size, req_data,
req_vendor_id, req_size, req_data,
&resp_size,
resp_data
);
Expand Down

0 comments on commit 4a36e89

Please sign in to comment.