Move from memcpy to memcpy_s.
Change-Id: If7d53c6e54428f01f14528c3f281331d308af56a
diff --git a/test/hftest/inc/hftest_impl.h b/test/hftest/inc/hftest_impl.h
index a86069c..d75b402 100644
--- a/test/hftest/inc/hftest_impl.h
+++ b/test/hftest/inc/hftest_impl.h
@@ -283,7 +283,8 @@
ASSERT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE); \
\
/* Send the selected service to run and let it be handled. */ \
- memcpy(send_buffer->payload, service, msg_length); \
+ memcpy_s(send_buffer->payload, SPCI_MSG_PAYLOAD_MAX, service, \
+ msg_length); \
spci_message_init(send_buffer, msg_length, vm_id, \
hf_vm_get_id()); \
\
diff --git a/test/vmapi/gicv3/busy_secondary.c b/test/vmapi/gicv3/busy_secondary.c
index 1a3cf52..62c6cc3 100644
--- a/test/vmapi/gicv3/busy_secondary.c
+++ b/test/vmapi/gicv3/busy_secondary.c
@@ -79,7 +79,8 @@
/* Let secondary start looping. */
dlog("Telling secondary to loop.\n");
- memcpy(send_buffer->payload, message, sizeof(message));
+ memcpy_s(send_buffer->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(send_buffer, 0, SERVICE_VM0,
recv_buffer->target_vm_id);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -136,7 +137,8 @@
/* Let secondary start looping. */
dlog("Telling secondary to loop.\n");
- memcpy(send_buffer->payload, message, sizeof(message));
+ memcpy_s(send_buffer->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(send_buffer, 0, SERVICE_VM0,
recv_buffer->target_vm_id);
EXPECT_EQ(spci_msg_send(0), 0);
diff --git a/test/vmapi/gicv3/services/timer.c b/test/vmapi/gicv3/services/timer.c
index 871603d..0cc7341 100644
--- a/test/vmapi/gicv3/services/timer.c
+++ b/test/vmapi/gicv3/services/timer.c
@@ -46,7 +46,8 @@
}
buffer[8] = '0' + interrupt_id / 10;
buffer[9] = '0' + interrupt_id % 10;
- memcpy(SERVICE_SEND_BUFFER()->payload, buffer, size);
+ memcpy_s(SERVICE_SEND_BUFFER()->payload, SPCI_MSG_PAYLOAD_MAX, buffer,
+ size);
spci_message_init(SERVICE_SEND_BUFFER(), size, HF_PRIMARY_VM_ID,
SERVICE_RECV_BUFFER()->target_vm_id);
spci_msg_send(0);
diff --git a/test/vmapi/gicv3/timer_secondary.c b/test/vmapi/gicv3/timer_secondary.c
index bcd762a..3782b51 100644
--- a/test/vmapi/gicv3/timer_secondary.c
+++ b/test/vmapi/gicv3/timer_secondary.c
@@ -49,7 +49,8 @@
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
/* Send the message for the secondary to set a timer. */
- memcpy(send_buffer->payload, message, sizeof(message));
+ memcpy_s(send_buffer->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(send_buffer, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -107,7 +108,8 @@
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
/* Send the message for the secondary to set a timer. */
- memcpy(send_buffer->payload, message, message_length);
+ memcpy_s(send_buffer->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ message_length);
spci_message_init(send_buffer, message_length, SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -245,7 +247,8 @@
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
/* Send the message for the secondary to set a timer. */
- memcpy(send_buffer->payload, message, message_length);
+ memcpy_s(send_buffer->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ message_length);
spci_message_init(send_buffer, message_length, SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
diff --git a/test/vmapi/primary_with_secondaries/interrupts.c b/test/vmapi/primary_with_secondaries/interrupts.c
index 187304e..f5a8036 100644
--- a/test/vmapi/primary_with_secondaries/interrupts.c
+++ b/test/vmapi/primary_with_secondaries/interrupts.c
@@ -42,7 +42,8 @@
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
/* Set the message, echo it and wait for a response. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -165,7 +166,8 @@
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
/* Now send a message to the secondary. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -202,7 +204,8 @@
* Now send a message to the secondary to enable the interrupt ID, and
* expect the response from the interrupt we sent before.
*/
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -287,7 +290,8 @@
EXPECT_EQ(run_res.code, HF_VCPU_RUN_WAIT_FOR_MESSAGE);
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_SUCCESS);
diff --git a/test/vmapi/primary_with_secondaries/mailbox.c b/test/vmapi/primary_with_secondaries/mailbox.c
index 7a45dfa..ffb28ff 100644
--- a/test/vmapi/primary_with_secondaries/mailbox.c
+++ b/test/vmapi/primary_with_secondaries/mailbox.c
@@ -88,7 +88,8 @@
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
/* Set the message, echo it and check it didn't change. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -119,7 +120,8 @@
/* Set the message, echo it and check it didn't change. */
next_permutation(message, sizeof(message) - 1);
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -160,7 +162,8 @@
uint32_t *chain = (uint32_t *)mb.send->payload;
*chain++ = htole32(SERVICE_VM1);
*chain++ = htole32(HF_PRIMARY_VM_ID);
- memcpy(chain, message, sizeof(message));
+ memcpy_s(chain, SPCI_MSG_PAYLOAD_MAX - (2 * sizeof(uint32_t)),
+ message, sizeof(message));
spci_message_init(mb.send,
sizeof(message) + (2 * sizeof(uint32_t)),
@@ -251,7 +254,8 @@
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
/* Send a message to echo service, and get response back. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -267,7 +271,8 @@
/* Without clearing our mailbox, send message again. */
reverse(message, strlen(message));
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
@@ -315,7 +320,8 @@
EXPECT_EQ(run_res.sleep.ns, HF_SLEEP_INDEFINITE);
/* Send a message to echo service twice. The second should fail. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_SUCCESS);
diff --git a/test/vmapi/primary_with_secondaries/memory_sharing.c b/test/vmapi/primary_with_secondaries/memory_sharing.c
index fc03a32..70dbc08 100644
--- a/test/vmapi/primary_with_secondaries/memory_sharing.c
+++ b/test/vmapi/primary_with_secondaries/memory_sharing.c
@@ -103,7 +103,7 @@
* API is still to be agreed on so the address is passed
* explicitly to test the mechanism.
*/
- memcpy(mb.send->payload, &ptr, sizeof(ptr));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, &ptr, sizeof(ptr));
spci_message_init(mb.send, sizeof(ptr), SERVICE_VM0, HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_SUCCESS);
@@ -146,7 +146,7 @@
* API is still to be agreed on so the address is passed
* explicitly to test the mechanism.
*/
- memcpy(mb.send->payload, &ptr, sizeof(ptr));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, &ptr, sizeof(ptr));
spci_message_init(mb.send, sizeof(ptr), SERVICE_VM0, HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_SUCCESS);
@@ -184,7 +184,7 @@
* API is still to be agreed on so the address is passed
* explicitly to test the mechanism.
*/
- memcpy(mb.send->payload, &ptr, sizeof(ptr));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, &ptr, sizeof(ptr));
spci_message_init(mb.send, sizeof(ptr), SERVICE_VM0, HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_SUCCESS);
@@ -222,7 +222,7 @@
* API is still to be agreed on so the address is passed
* explicitly to test the mechanism.
*/
- memcpy(mb.send->payload, &ptr, sizeof(ptr));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, &ptr, sizeof(ptr));
spci_message_init(mb.send, sizeof(ptr), SERVICE_VM0, HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_SUCCESS);
@@ -259,7 +259,7 @@
* API is still to be agreed on so the address is passed
* explicitly to test the mechanism.
*/
- memcpy(mb.send->payload, &ptr, sizeof(ptr));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, &ptr, sizeof(ptr));
spci_message_init(mb.send, sizeof(ptr), SERVICE_VM0, HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_SUCCESS);
@@ -299,7 +299,7 @@
* API is still to be agreed on so the address is passed
* explicitly to test the mechanism.
*/
- memcpy(mb.send->payload, &ptr, sizeof(ptr));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, &ptr, sizeof(ptr));
spci_message_init(mb.send, sizeof(ptr), SERVICE_VM0, HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_SUCCESS);
@@ -333,7 +333,7 @@
EXPECT_EQ(run_res.code, HF_VCPU_RUN_MESSAGE);
/* Check the memory was cleared. */
- memcpy(&ptr, mb.recv->payload, sizeof(ptr));
+ ptr = *(uint8_t **)mb.recv->payload;
for (int i = 0; i < PAGE_SIZE; ++i) {
ASSERT_EQ(ptr[i], 0);
}
@@ -359,7 +359,7 @@
EXPECT_EQ(run_res.code, HF_VCPU_RUN_MESSAGE);
/* Check the memory was cleared. */
- memcpy(&ptr, mb.recv->payload, sizeof(ptr));
+ ptr = *(uint8_t **)mb.recv->payload;
for (int i = 0; i < PAGE_SIZE; ++i) {
ASSERT_EQ(ptr[i], 0);
}
diff --git a/test/vmapi/primary_with_secondaries/run_race.c b/test/vmapi/primary_with_secondaries/run_race.c
index c41387d..2062de1 100644
--- a/test/vmapi/primary_with_secondaries/run_race.c
+++ b/test/vmapi/primary_with_secondaries/run_race.c
@@ -57,7 +57,7 @@
/* Copies the contents of the received boolean to the return value. */
if (mb->recv->length == sizeof(ok)) {
- memcpy(&ok, mb->recv->payload, sizeof(ok));
+ ok = *(bool *)mb->recv->payload;
}
hf_mailbox_clear();
diff --git a/test/vmapi/primary_with_secondaries/services/check_state.c b/test/vmapi/primary_with_secondaries/services/check_state.c
index 2379d9f..a1805f9 100644
--- a/test/vmapi/primary_with_secondaries/services/check_state.c
+++ b/test/vmapi/primary_with_secondaries/services/check_state.c
@@ -66,7 +66,8 @@
}
/* Send two replies, one for each physical CPU. */
- memcpy(SERVICE_SEND_BUFFER()->payload, &ok, sizeof(ok));
+ memcpy_s(SERVICE_SEND_BUFFER()->payload, SPCI_MSG_PAYLOAD_MAX, &ok,
+ sizeof(ok));
spci_message_init(SERVICE_SEND_BUFFER(), sizeof(ok), HF_PRIMARY_VM_ID,
hf_vm_get_id());
send_with_retry();
diff --git a/test/vmapi/primary_with_secondaries/services/echo.c b/test/vmapi/primary_with_secondaries/services/echo.c
index e72622c..04cb6a3 100644
--- a/test/vmapi/primary_with_secondaries/services/echo.c
+++ b/test/vmapi/primary_with_secondaries/services/echo.c
@@ -29,7 +29,8 @@
struct spci_message *send_buf = SERVICE_SEND_BUFFER();
struct spci_message *recv_buf = SERVICE_RECV_BUFFER();
- memcpy(send_buf->payload, recv_buf->payload, recv_buf->length);
+ memcpy_s(send_buf->payload, SPCI_MSG_PAYLOAD_MAX,
+ recv_buf->payload, recv_buf->length);
spci_message_init(SERVICE_SEND_BUFFER(), recv_buf->length,
recv_buf->source_vm_id,
recv_buf->target_vm_id);
diff --git a/test/vmapi/primary_with_secondaries/services/echo_with_notification.c b/test/vmapi/primary_with_secondaries/services/echo_with_notification.c
index f278851..03dcfd4 100644
--- a/test/vmapi/primary_with_secondaries/services/echo_with_notification.c
+++ b/test/vmapi/primary_with_secondaries/services/echo_with_notification.c
@@ -58,7 +58,8 @@
struct spci_message *send_buf = SERVICE_SEND_BUFFER();
struct spci_message *recv_buf = SERVICE_RECV_BUFFER();
- memcpy(send_buf->payload, recv_buf->payload, recv_buf->length);
+ memcpy_s(send_buf->payload, SPCI_MSG_PAYLOAD_MAX,
+ recv_buf->payload, recv_buf->length);
spci_message_init(send_buf, recv_buf->length,
recv_buf->source_vm_id,
recv_buf->target_vm_id);
diff --git a/test/vmapi/primary_with_secondaries/services/interruptible.c b/test/vmapi/primary_with_secondaries/services/interruptible.c
index 2053088..3df67eb 100644
--- a/test/vmapi/primary_with_secondaries/services/interruptible.c
+++ b/test/vmapi/primary_with_secondaries/services/interruptible.c
@@ -39,7 +39,8 @@
dlog("secondary IRQ %d from current\n", interrupt_id);
buffer[8] = '0' + interrupt_id / 10;
buffer[9] = '0' + interrupt_id % 10;
- memcpy(SERVICE_SEND_BUFFER()->payload, buffer, size);
+ memcpy_s(SERVICE_SEND_BUFFER()->payload, SPCI_MSG_PAYLOAD_MAX, buffer,
+ size);
spci_message_init(SERVICE_SEND_BUFFER(), size, HF_PRIMARY_VM_ID,
hf_vm_get_id());
spci_msg_send(0);
diff --git a/test/vmapi/primary_with_secondaries/services/interruptible_echo.c b/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
index 5f79433..760998c 100644
--- a/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
+++ b/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
@@ -48,8 +48,8 @@
res = spci_msg_recv(SPCI_MSG_RECV_BLOCK);
}
- memcpy(message->payload, recv_message->payload,
- recv_message->length);
+ memcpy_s(message->payload, SPCI_MSG_PAYLOAD_MAX,
+ recv_message->payload, recv_message->length);
spci_message_init(message, recv_message->length,
HF_PRIMARY_VM_ID, SERVICE_VM0);
diff --git a/test/vmapi/primary_with_secondaries/services/memory.c b/test/vmapi/primary_with_secondaries/services/memory.c
index 5802429..0175577 100644
--- a/test/vmapi/primary_with_secondaries/services/memory.c
+++ b/test/vmapi/primary_with_secondaries/services/memory.c
@@ -33,7 +33,7 @@
/* Check the memory was cleared. */
struct spci_message *recv_buf = SERVICE_RECV_BUFFER();
- memcpy(&ptr, recv_buf->payload, sizeof(ptr));
+ ptr = *(uint8_t **)recv_buf->payload;
spci_message_init(SERVICE_SEND_BUFFER(), sizeof(ptr),
recv_buf->source_vm_id, hf_vm_get_id());
@@ -64,7 +64,7 @@
/* Check the memory was cleared. */
struct spci_message *recv_buf = SERVICE_RECV_BUFFER();
- memcpy(&ptr, recv_buf->payload, sizeof(ptr));
+ ptr = *(uint8_t **)recv_buf->payload;
spci_message_init(SERVICE_SEND_BUFFER(), sizeof(ptr),
recv_buf->source_vm_id, hf_vm_get_id());
@@ -102,7 +102,8 @@
* API is still to be agreed on so the address is passed
* explicitly to test the mechanism.
*/
- memcpy(SERVICE_SEND_BUFFER()->payload, &ptr, sizeof(ptr));
+ memcpy_s(SERVICE_SEND_BUFFER()->payload, SPCI_MSG_PAYLOAD_MAX, &ptr,
+ sizeof(ptr));
spci_message_init(SERVICE_SEND_BUFFER(), sizeof(ptr), HF_PRIMARY_VM_ID,
hf_vm_get_id());
EXPECT_EQ(spci_msg_send(0), 0);
@@ -125,7 +126,8 @@
* API is still to be agreed on so the address is passed
* explicitly to test the mechanism.
*/
- memcpy(SERVICE_SEND_BUFFER()->payload, &ptr, sizeof(ptr));
+ memcpy_s(SERVICE_SEND_BUFFER()->payload, SPCI_MSG_PAYLOAD_MAX, &ptr,
+ sizeof(ptr));
spci_message_init(SERVICE_SEND_BUFFER(), sizeof(ptr), HF_PRIMARY_VM_ID,
hf_vm_get_id());
EXPECT_EQ(spci_msg_send(0), 0);
diff --git a/test/vmapi/primary_with_secondaries/services/receive_block.c b/test/vmapi/primary_with_secondaries/services/receive_block.c
index b241b76..0b8a1b5 100644
--- a/test/vmapi/primary_with_secondaries/services/receive_block.c
+++ b/test/vmapi/primary_with_secondaries/services/receive_block.c
@@ -50,7 +50,8 @@
EXPECT_EQ(res, SPCI_INTERRUPTED);
}
- memcpy(SERVICE_SEND_BUFFER()->payload, message, sizeof(message));
+ memcpy_s(SERVICE_SEND_BUFFER()->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(SERVICE_SEND_BUFFER(), sizeof(message),
HF_PRIMARY_VM_ID, hf_vm_get_id());
diff --git a/test/vmapi/primary_with_secondaries/services/relay.c b/test/vmapi/primary_with_secondaries/services/relay.c
index 30ce25e..413fbbf 100644
--- a/test/vmapi/primary_with_secondaries/services/relay.c
+++ b/test/vmapi/primary_with_secondaries/services/relay.c
@@ -49,7 +49,8 @@
next_message_size = recv_buf->length - sizeof(uint32_t);
/* Send the message to the next stage. */
- memcpy(send_buf->payload, next_message, next_message_size);
+ memcpy_s(send_buf->payload, SPCI_MSG_PAYLOAD_MAX, next_message,
+ next_message_size);
spci_message_init(send_buf, next_message_size, next_vm_id,
hf_vm_get_id());
diff --git a/test/vmapi/primary_with_secondaries/services/wfi.c b/test/vmapi/primary_with_secondaries/services/wfi.c
index 6d3a05c..6935107 100644
--- a/test/vmapi/primary_with_secondaries/services/wfi.c
+++ b/test/vmapi/primary_with_secondaries/services/wfi.c
@@ -48,7 +48,8 @@
interrupt_wait();
}
- memcpy(SERVICE_SEND_BUFFER()->payload, message, sizeof(message));
+ memcpy_s(SERVICE_SEND_BUFFER()->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(SERVICE_SEND_BUFFER(), sizeof(message),
HF_PRIMARY_VM_ID, hf_vm_get_id());
diff --git a/test/vmapi/primary_with_secondaries/spci.c b/test/vmapi/primary_with_secondaries/spci.c
index 1e0c8a1..be442b8 100644
--- a/test/vmapi/primary_with_secondaries/spci.c
+++ b/test/vmapi/primary_with_secondaries/spci.c
@@ -39,7 +39,8 @@
SERVICE_SELECT(SERVICE_VM0, "spci_check", mb.send);
/* Set the payload, init the message header and send the message. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0,
HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), 0);
@@ -59,7 +60,8 @@
SERVICE_SELECT(SERVICE_VM0, "spci_check", mb.send);
/* Set the payload, init the message header and send the message. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), SERVICE_VM0, SERVICE_VM1);
EXPECT_EQ(spci_msg_send(0), SPCI_INVALID_PARAMETERS);
}
@@ -74,7 +76,8 @@
SERVICE_SELECT(SERVICE_VM0, "spci_check", mb.send);
/* Set the payload, init the message header and send the message. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
spci_message_init(mb.send, sizeof(message), -1, HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_INVALID_PARAMETERS);
}
@@ -91,7 +94,8 @@
SERVICE_SELECT(SERVICE_VM0, "spci_length", mb.send);
/* Send the message and compare if truncated. */
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
/* Hard code incorrect length. */
spci_message_init(mb.send, 16, SERVICE_VM0, HF_PRIMARY_VM_ID);
@@ -108,7 +112,8 @@
const char message[] = "fail to send";
struct mailbox_buffers mb = set_up_mailbox();
- memcpy(mb.send->payload, message, sizeof(message));
+ memcpy_s(mb.send->payload, SPCI_MSG_PAYLOAD_MAX, message,
+ sizeof(message));
/* Send a message that is larger than the mailbox supports (4KB). */
spci_message_init(mb.send, 4 * 1024, SERVICE_VM0, HF_PRIMARY_VM_ID);
EXPECT_EQ(spci_msg_send(0), SPCI_INVALID_PARAMETERS);