Skip to content

Commit 483881c

Browse files
ShitalJumbadclaude
andcommitted
Fix: Memory alignment issues in unit tests, fuzzing tests, and sample code
Fix #3356 Signed-off-by: Shital Jumbad <sjumbad@nvidia.com> Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 4e675e0 commit 483881c

File tree

20 files changed

+231
-230
lines changed

20 files changed

+231
-230
lines changed

os_stub/spdm_device_secret_lib_sample/psk.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* Copyright Notice:
3-
* Copyright 2024 DMTF. All rights reserved.
3+
* Copyright 2024-2026 DMTF. All rights reserved.
44
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
55
**/
66

@@ -172,7 +172,7 @@ bool libspdm_psk_master_secret_hkdf_expand(
172172
return result;
173173
}
174174

175-
*(uint16_t *)m_libspdm_bin_str0 = (uint16_t)hash_size;
175+
libspdm_write_uint16((uint8_t *)m_libspdm_bin_str0, (uint16_t)hash_size);
176176
/* patch the version*/
177177
m_libspdm_bin_str0[6] = (char)('0' + ((spdm_version >> 12) & 0xF));
178178
m_libspdm_bin_str0[8] = (char)('0' + ((spdm_version >> 8) & 0xF));

unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* Copyright Notice:
3-
* Copyright 2021-2025 DMTF. All rights reserved.
3+
* Copyright 2021-2026 DMTF. All rights reserved.
44
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
55
**/
66

@@ -85,7 +85,7 @@ libspdm_return_t libspdm_device_receive_message(void *spdm_context, size_t *resp
8585
ptr += SPDM_NONCE_SIZE;
8686
/* libspdm_zero_mem (ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
8787
* ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
88-
*(uint16_t *)ptr = 0;
88+
libspdm_write_uint16(ptr, 0);
8989
ptr += sizeof(uint16_t);
9090
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
9191
sizeof(m_libspdm_local_buffer),

unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* Copyright Notice:
3-
* Copyright 2021-2025 DMTF. All rights reserved.
3+
* Copyright 2021-2026 DMTF. All rights reserved.
44
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
55
**/
66

@@ -52,7 +52,8 @@ size_t libspdm_test_get_key_exchange_request_size(const void *spdm_context, cons
5252
}
5353

5454
opaque_length =
55-
*(uint16_t *)((size_t)buffer + sizeof(spdm_key_exchange_request_t) + dhe_key_size);
55+
libspdm_read_uint16((const uint8_t *)buffer +
56+
sizeof(spdm_key_exchange_request_t) + dhe_key_size);
5657
message_size += opaque_length;
5758
if (buffer_size < message_size) {
5859
return buffer_size;
@@ -169,7 +170,7 @@ libspdm_return_t libspdm_device_receive_message(void *spdm_context, size_t *resp
169170
ptr += dhe_key_size;
170171
/* libspdm_zero_mem (ptr, hash_size);
171172
* ptr += hash_size;*/
172-
*(uint16_t *)ptr = (uint16_t)opaque_key_exchange_rsp_size;
173+
libspdm_write_uint16(ptr, (uint16_t)opaque_key_exchange_rsp_size);
173174
ptr += sizeof(uint16_t);
174175
libspdm_build_opaque_data_version_selection_data(spdm_context,
175176
SECURED_SPDM_VERSION_11 <<

unit_test/fuzzing/test_responder/test_spdm_responder_key_exchange/key_exchange.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* Copyright Notice:
3-
* Copyright 2021-2024 DMTF. All rights reserved.
3+
* Copyright 2021-2026 DMTF. All rights reserved.
44
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
55
**/
66

@@ -91,7 +91,7 @@ void libspdm_test_responder_key_exchange_case1(void **State)
9191
libspdm_dhe_free(m_libspdm_use_dhe_algo, dhe_context);
9292
opaque_key_exchange_req_size =
9393
libspdm_get_opaque_data_supported_version_data_size(spdm_context);
94-
*(uint16_t *)ptr = (uint16_t)opaque_key_exchange_req_size;
94+
libspdm_write_uint16(ptr, (uint16_t)opaque_key_exchange_req_size);
9595
ptr += sizeof(uint16_t);
9696
libspdm_build_opaque_data_supported_version_data(spdm_context, &opaque_key_exchange_req_size,
9797
ptr);
@@ -159,7 +159,7 @@ void libspdm_test_responder_key_exchange_case2(void **State)
159159
libspdm_dhe_free(m_libspdm_use_dhe_algo, dhe_context);
160160
opaque_key_exchange_req_size =
161161
libspdm_get_opaque_data_supported_version_data_size(spdm_context);
162-
*(uint16_t *)ptr = (uint16_t)opaque_key_exchange_req_size;
162+
libspdm_write_uint16(ptr, (uint16_t)opaque_key_exchange_req_size);
163163
ptr += sizeof(uint16_t);
164164
libspdm_build_opaque_data_supported_version_data(spdm_context, &opaque_key_exchange_req_size,
165165
ptr);
@@ -291,7 +291,7 @@ void libspdm_test_responder_key_exchange_case4(void **State)
291291
libspdm_dhe_free(m_libspdm_use_dhe_algo, dhe_context);
292292
opaque_key_exchange_req_size =
293293
libspdm_get_opaque_data_supported_version_data_size(spdm_context);
294-
*(uint16_t *)ptr = (uint16_t)opaque_key_exchange_req_size;
294+
libspdm_write_uint16(ptr, (uint16_t)opaque_key_exchange_req_size);
295295
ptr += sizeof(uint16_t);
296296
libspdm_build_opaque_data_supported_version_data(spdm_context, &opaque_key_exchange_req_size,
297297
ptr);
@@ -368,7 +368,7 @@ void libspdm_test_responder_key_exchange_case5(void **State)
368368
libspdm_dhe_free(m_libspdm_use_dhe_algo, dhe_context);
369369
opaque_key_exchange_req_size =
370370
libspdm_get_opaque_data_supported_version_data_size(spdm_context);
371-
*(uint16_t *)ptr = (uint16_t)opaque_key_exchange_req_size;
371+
libspdm_write_uint16(ptr, (uint16_t)opaque_key_exchange_req_size);
372372
ptr += sizeof(uint16_t);
373373
libspdm_build_opaque_data_supported_version_data(spdm_context, &opaque_key_exchange_req_size,
374374
ptr);
@@ -436,7 +436,7 @@ void libspdm_test_responder_key_exchange_case6(void **State)
436436
libspdm_dhe_free(m_libspdm_use_dhe_algo, dhe_context);
437437
opaque_key_exchange_req_size =
438438
libspdm_get_opaque_data_supported_version_data_size(spdm_context);
439-
*(uint16_t *)ptr = (uint16_t)opaque_key_exchange_req_size;
439+
libspdm_write_uint16(ptr, (uint16_t)opaque_key_exchange_req_size);
440440
ptr += sizeof(uint16_t);
441441
libspdm_build_opaque_data_supported_version_data(spdm_context, &opaque_key_exchange_req_size,
442442
ptr);
@@ -503,7 +503,7 @@ void libspdm_test_responder_key_exchange_case7(void **State)
503503
libspdm_dhe_free(m_libspdm_use_dhe_algo, dhe_context);
504504
opaque_key_exchange_req_size =
505505
libspdm_get_opaque_data_supported_version_data_size(spdm_context);
506-
*(uint16_t *)ptr = (uint16_t)opaque_key_exchange_req_size;
506+
libspdm_write_uint16(ptr, (uint16_t)opaque_key_exchange_req_size);
507507
ptr += sizeof(uint16_t);
508508
libspdm_build_opaque_data_supported_version_data(spdm_context, &opaque_key_exchange_req_size,
509509
ptr);
@@ -592,7 +592,7 @@ void libspdm_test_responder_key_exchange_case8(void **State)
592592
libspdm_dhe_free(m_libspdm_use_dhe_algo, dhe_context);
593593
opaque_key_exchange_req_size =
594594
libspdm_get_opaque_data_supported_version_data_size(spdm_context);
595-
*(uint16_t *)ptr = (uint16_t)opaque_key_exchange_req_size;
595+
libspdm_write_uint16(ptr, (uint16_t)opaque_key_exchange_req_size);
596596
ptr += sizeof(uint16_t);
597597
libspdm_build_opaque_data_supported_version_data(spdm_context, &opaque_key_exchange_req_size,
598598
ptr);

unit_test/test_spdm_requester/challenge.c

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ static libspdm_return_t receive_message(
199199
ptr += SPDM_NONCE_SIZE;
200200
/* libspdm_zero_mem (ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
201201
* ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
202-
*(uint16_t *)ptr = 0;
202+
libspdm_write_uint16(ptr, 0);
203203
ptr += sizeof(uint16_t);
204204
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
205205
sizeof(m_libspdm_local_buffer) -
@@ -279,7 +279,7 @@ static libspdm_return_t receive_message(
279279
ptr += SPDM_NONCE_SIZE;
280280
/* libspdm_zero_mem (ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
281281
* ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
282-
*(uint16_t *)ptr = 0;
282+
libspdm_write_uint16(ptr, 0);
283283
ptr += sizeof(uint16_t);
284284
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
285285
sizeof(m_libspdm_local_buffer) -
@@ -419,7 +419,7 @@ static libspdm_return_t receive_message(
419419
ptr += SPDM_NONCE_SIZE;
420420
/* libspdm_zero_mem (ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
421421
* ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
422-
*(uint16_t *)ptr = 0;
422+
libspdm_write_uint16(ptr, 0);
423423
ptr += sizeof(uint16_t);
424424
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
425425
sizeof(m_libspdm_local_buffer)
@@ -571,7 +571,7 @@ static libspdm_return_t receive_message(
571571
ptr += SPDM_NONCE_SIZE;
572572
/* libspdm_zero_mem (ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
573573
* ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
574-
*(uint16_t *)ptr = 0;
574+
libspdm_write_uint16(ptr, 0);
575575
ptr += sizeof(uint16_t);
576576
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
577577
sizeof(m_libspdm_local_buffer)
@@ -649,7 +649,7 @@ static libspdm_return_t receive_message(
649649
Ptr += SPDM_NONCE_SIZE;
650650
/* libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
651651
* Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
652-
*(uint16_t *)Ptr = 0;
652+
libspdm_write_uint16(Ptr, 0);
653653
Ptr += sizeof(uint16_t);
654654
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
655655
sizeof(m_libspdm_local_buffer) -
@@ -743,7 +743,7 @@ static libspdm_return_t receive_message(
743743
Ptr += SPDM_NONCE_SIZE;
744744
/* libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
745745
* Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
746-
*(uint16_t *)Ptr = 0;
746+
libspdm_write_uint16(Ptr, 0);
747747
Ptr += sizeof(uint16_t);
748748
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
749749
sizeof(m_libspdm_local_buffer) -
@@ -817,7 +817,7 @@ static libspdm_return_t receive_message(
817817
Ptr += SPDM_NONCE_SIZE;
818818
/* libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
819819
* Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
820-
*(uint16_t *)Ptr = 0;
820+
libspdm_write_uint16(Ptr, 0);
821821
Ptr += sizeof(uint16_t);
822822
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
823823
sizeof(m_libspdm_local_buffer) -
@@ -891,7 +891,7 @@ static libspdm_return_t receive_message(
891891
Ptr += SPDM_NONCE_SIZE;
892892
/* libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
893893
* Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
894-
*(uint16_t *)Ptr = 0;
894+
libspdm_write_uint16(Ptr, 0);
895895
Ptr += sizeof(uint16_t);
896896
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
897897
sizeof(m_libspdm_local_buffer) -
@@ -965,7 +965,7 @@ static libspdm_return_t receive_message(
965965
Ptr += SPDM_NONCE_SIZE;
966966
/* libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
967967
* Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
968-
*(uint16_t *)Ptr = 0;
968+
libspdm_write_uint16(Ptr, 0);
969969
Ptr += sizeof(uint16_t);
970970
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
971971
sizeof(m_libspdm_local_buffer) -
@@ -1039,7 +1039,7 @@ static libspdm_return_t receive_message(
10391039
Ptr += SPDM_NONCE_SIZE;
10401040
/* libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
10411041
* Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
1042-
*(uint16_t *)Ptr = (uint16_t)strlen("libspdm");
1042+
libspdm_write_uint16(Ptr, (uint16_t)strlen("libspdm"));
10431043
Ptr += sizeof(uint16_t);
10441044
libspdm_copy_mem(Ptr, (size_t)(*response) + *response_size - (size_t)Ptr, "libspdm",
10451045
strlen("libspdm"));
@@ -1116,7 +1116,7 @@ static libspdm_return_t receive_message(
11161116
Ptr += SPDM_NONCE_SIZE;
11171117
/* libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
11181118
* Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
1119-
*(uint16_t *)Ptr = 0;
1119+
libspdm_write_uint16(Ptr, 0);
11201120
Ptr += sizeof(uint16_t);
11211121
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
11221122
sizeof(m_libspdm_local_buffer) -
@@ -1192,7 +1192,7 @@ static libspdm_return_t receive_message(
11921192
Ptr += SPDM_NONCE_SIZE;
11931193
libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
11941194
Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);
1195-
*(uint16_t *)Ptr = 0;
1195+
libspdm_write_uint16(Ptr, 0);
11961196
Ptr += sizeof(uint16_t);
11971197
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
11981198
sizeof(m_libspdm_local_buffer) -
@@ -1302,7 +1302,7 @@ static libspdm_return_t receive_message(
13021302
ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);
13031303
libspdm_get_random_number (SPDM_NONCE_SIZE, ptr);
13041304
ptr += SPDM_NONCE_SIZE;
1305-
*(uint16_t *)ptr = 0;
1305+
libspdm_write_uint16(ptr, 0);
13061306
ptr += sizeof(uint16_t);
13071307
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
13081308
sizeof(m_libspdm_local_buffer) -
@@ -1372,7 +1372,7 @@ static libspdm_return_t receive_message(
13721372
ptr += SPDM_NONCE_SIZE;
13731373
/* libspdm_zero_mem (ptr, spdm_get_hash_size (m_libspdm_use_hash_algo));
13741374
* ptr += spdm_get_hash_size (m_libspdm_use_hash_algo);*/
1375-
*(uint16_t *)ptr = 0;
1375+
libspdm_write_uint16(ptr, 0);
13761376
ptr += sizeof(uint16_t);
13771377
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
13781378
sizeof(m_libspdm_local_buffer) - m_libspdm_local_buffer_size,
@@ -1458,7 +1458,7 @@ static libspdm_return_t receive_message(
14581458
ptr += SPDM_NONCE_SIZE;
14591459
/* libspdm_zero_mem (ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
14601460
* ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
1461-
*(uint16_t *)ptr = 0;
1461+
libspdm_write_uint16(ptr, 0);
14621462
ptr += sizeof(uint16_t);
14631463
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
14641464
sizeof(m_libspdm_local_buffer) -
@@ -1537,7 +1537,7 @@ static libspdm_return_t receive_message(
15371537
ptr += SPDM_NONCE_SIZE;
15381538
/* libspdm_zero_mem (ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
15391539
* ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
1540-
*(uint16_t *)ptr = 0;
1540+
libspdm_write_uint16(ptr, 0);
15411541
ptr += sizeof(uint16_t);
15421542
libspdm_copy_mem(&m_libspdm_local_buffer[m_libspdm_local_buffer_size],
15431543
sizeof(m_libspdm_local_buffer) -
@@ -1621,7 +1621,7 @@ static libspdm_return_t receive_message(
16211621
Ptr += SPDM_NONCE_SIZE;
16221622
/* libspdm_zero_mem (Ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
16231623
* Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
1624-
*(uint16_t *)Ptr = opaque_length;
1624+
libspdm_write_uint16(Ptr, opaque_length);
16251625
Ptr += sizeof(uint16_t);
16261626
libspdm_set_mem(Ptr, opaque_length, 255);
16271627
Ptr += opaque_length;
@@ -1743,7 +1743,7 @@ static libspdm_return_t receive_message(
17431743
Ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);
17441744
libspdm_get_random_number (SPDM_NONCE_SIZE, Ptr);
17451745
Ptr += SPDM_NONCE_SIZE;
1746-
*(uint16_t *)Ptr = (uint16_t)m_libspdm_opaque_data_size;
1746+
libspdm_write_uint16(Ptr, (uint16_t)m_libspdm_opaque_data_size);
17471747
Ptr += sizeof(uint16_t);
17481748
libspdm_copy_mem(Ptr, (size_t)(*response) + *response_size - (size_t)Ptr,
17491749
m_libspdm_opaque_data,
@@ -1818,7 +1818,7 @@ static libspdm_return_t receive_message(
18181818
ptr += libspdm_get_hash_size(m_libspdm_use_hash_algo);
18191819
libspdm_get_random_number(SPDM_NONCE_SIZE, ptr);
18201820
ptr += SPDM_NONCE_SIZE;
1821-
*(uint16_t *)ptr = 0;
1821+
libspdm_write_uint16(ptr, 0);
18221822
ptr += sizeof(uint16_t);
18231823
libspdm_copy_mem(ptr, SPDM_REQ_CONTEXT_SIZE, m_requester_context, SPDM_REQ_CONTEXT_SIZE);
18241824
ptr += SPDM_REQ_CONTEXT_SIZE;
@@ -1899,7 +1899,7 @@ static libspdm_return_t receive_message(
18991899
ptr += libspdm_get_hash_size(m_libspdm_use_hash_algo);
19001900
libspdm_get_random_number(SPDM_NONCE_SIZE, ptr);
19011901
ptr += SPDM_NONCE_SIZE;
1902-
*(uint16_t *)ptr = 0;
1902+
libspdm_write_uint16(ptr, 0);
19031903
ptr += sizeof(uint16_t);
19041904
libspdm_get_random_number(SPDM_REQ_CONTEXT_SIZE,ptr);
19051905
ptr += SPDM_REQ_CONTEXT_SIZE;

unit_test/test_spdm_requester/chunk_get.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ void libspdm_requester_chunk_get_test_case2_build_measurements_response(
118118
meas_rsp->header.param1 = 0;
119119
meas_rsp->header.param2 = 0;
120120
meas_rsp->number_of_blocks = 2;
121-
*(uint32_t*) meas_rsp->measurement_record_length =
122-
2 * ((uint32_t) (sizeof(spdm_measurement_block_dmtf_t) +
123-
libspdm_get_measurement_hash_size( m_libspdm_use_measurement_hash_algo)));
121+
libspdm_write_uint32(meas_rsp->measurement_record_length,
122+
2 * ((uint32_t) (sizeof(spdm_measurement_block_dmtf_t) +
123+
libspdm_get_measurement_hash_size( m_libspdm_use_measurement_hash_algo))));
124124
measurment_block = (void*) (meas_rsp + 1);
125125
libspdm_set_mem(
126126
measurment_block,
@@ -195,7 +195,7 @@ void libspdm_requester_chunk_get_test_case3_build_challenge_response(
195195
ptr += SPDM_NONCE_SIZE;
196196
/* libspdm_zero_mem (ptr, libspdm_get_hash_size (m_libspdm_use_hash_algo));
197197
* ptr += libspdm_get_hash_size (m_libspdm_use_hash_algo);*/
198-
*(uint16_t*) ptr = 0;
198+
libspdm_write_uint16(ptr, 0);
199199
ptr += sizeof(uint16_t);
200200

201201
libspdm_copy_mem(

0 commit comments

Comments
 (0)