fix memcpy usage in chat commands and server shell
This commit is contained in:
+6
-6
@@ -1082,10 +1082,10 @@ static void server_command_item(shared_ptr<ServerState>, shared_ptr<Lobby> l,
|
|||||||
PlayerInventoryItem item;
|
PlayerInventoryItem item;
|
||||||
item.data.id = l->generate_item_id(c->lobby_client_id);
|
item.data.id = l->generate_item_id(c->lobby_client_id);
|
||||||
if (data.size() <= 12) {
|
if (data.size() <= 12) {
|
||||||
memcpy(&item.data.data1, data.data(), data.size());
|
memcpy(item.data.data1.data(), data.data(), data.size());
|
||||||
} else {
|
} else {
|
||||||
memcpy(&item.data.data1, data.data(), 12);
|
memcpy(item.data.data1.data(), data.data(), 12);
|
||||||
memcpy(&item.data.data2, data.data() + 12, data.size() - 12);
|
memcpy(item.data.data2.data(), data.data() + 12, data.size() - 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
l->add_item(item, c->area, c->x, c->z);
|
l->add_item(item, c->area, c->x, c->z);
|
||||||
@@ -1128,10 +1128,10 @@ static void proxy_command_item(shared_ptr<ServerState>,
|
|||||||
PlayerInventoryItem item;
|
PlayerInventoryItem item;
|
||||||
item.data.id = random_object<uint32_t>();
|
item.data.id = random_object<uint32_t>();
|
||||||
if (data.size() <= 12) {
|
if (data.size() <= 12) {
|
||||||
memcpy(&item.data.data1, data.data(), data.size());
|
memcpy(item.data.data1.data(), data.data(), data.size());
|
||||||
} else {
|
} else {
|
||||||
memcpy(&item.data.data1, data.data(), 12);
|
memcpy(item.data.data1.data(), data.data(), 12);
|
||||||
memcpy(&item.data.data2, data.data() + 12, data.size() - 12);
|
memcpy(item.data.data2.data(), data.data() + 12, data.size() - 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (set_drop) {
|
if (set_drop) {
|
||||||
|
|||||||
+3
-3
@@ -756,10 +756,10 @@ session with ID 17205AE4, run the command `on 17205AE4 sc 1D 00 04 00`.\n\
|
|||||||
PlayerInventoryItem item;
|
PlayerInventoryItem item;
|
||||||
item.data.id = random_object<uint32_t>();
|
item.data.id = random_object<uint32_t>();
|
||||||
if (data.size() <= 12) {
|
if (data.size() <= 12) {
|
||||||
memcpy(&item.data.data1, data.data(), data.size());
|
memcpy(item.data.data1.data(), data.data(), data.size());
|
||||||
} else {
|
} else {
|
||||||
memcpy(&item.data.data1, data.data(), 12);
|
memcpy(item.data.data1.data(), data.data(), 12);
|
||||||
memcpy(&item.data.data2, data.data() + 12, data.size() - 12);
|
memcpy(item.data.data2.data(), data.data() + 12, data.size() - 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command_name == "set-next-item") {
|
if (command_name == "set-next-item") {
|
||||||
|
|||||||
Reference in New Issue
Block a user