From 4ba5689b25890fc3f588129cd82298e2a03d4d1f Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Tue, 7 Mar 2023 23:23:57 -0800 Subject: [PATCH] fix memcpy usage in chat commands and server shell --- src/ChatCommands.cc | 12 ++++++------ src/ServerShell.cc | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/ChatCommands.cc b/src/ChatCommands.cc index 7a97966f..12746a78 100644 --- a/src/ChatCommands.cc +++ b/src/ChatCommands.cc @@ -1082,10 +1082,10 @@ static void server_command_item(shared_ptr, shared_ptr l, PlayerInventoryItem item; item.data.id = l->generate_item_id(c->lobby_client_id); if (data.size() <= 12) { - memcpy(&item.data.data1, data.data(), data.size()); + memcpy(item.data.data1.data(), data.data(), data.size()); } else { - memcpy(&item.data.data1, data.data(), 12); - memcpy(&item.data.data2, data.data() + 12, data.size() - 12); + memcpy(item.data.data1.data(), data.data(), 12); + memcpy(item.data.data2.data(), data.data() + 12, data.size() - 12); } l->add_item(item, c->area, c->x, c->z); @@ -1128,10 +1128,10 @@ static void proxy_command_item(shared_ptr, PlayerInventoryItem item; item.data.id = random_object(); if (data.size() <= 12) { - memcpy(&item.data.data1, data.data(), data.size()); + memcpy(item.data.data1.data(), data.data(), data.size()); } else { - memcpy(&item.data.data1, data.data(), 12); - memcpy(&item.data.data2, data.data() + 12, data.size() - 12); + memcpy(item.data.data1.data(), data.data(), 12); + memcpy(item.data.data2.data(), data.data() + 12, data.size() - 12); } if (set_drop) { diff --git a/src/ServerShell.cc b/src/ServerShell.cc index 0f014aac..84f4e2c1 100644 --- a/src/ServerShell.cc +++ b/src/ServerShell.cc @@ -756,10 +756,10 @@ session with ID 17205AE4, run the command `on 17205AE4 sc 1D 00 04 00`.\n\ PlayerInventoryItem item; item.data.id = random_object(); if (data.size() <= 12) { - memcpy(&item.data.data1, data.data(), data.size()); + memcpy(item.data.data1.data(), data.data(), data.size()); } else { - memcpy(&item.data.data1, data.data(), 12); - memcpy(&item.data.data2, data.data() + 12, data.size() - 12); + memcpy(item.data.data1.data(), data.data(), 12); + memcpy(item.data.data2.data(), data.data() + 12, data.size() - 12); } if (command_name == "set-next-item") {