forked from Mirrorlandia_minetest/minetest
Prevent players accessing inventories of other players (#10341)
This commit is contained in:
parent
d28f1b0170
commit
3693b6871e
@ -630,13 +630,19 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt)
|
||||
if (ma->from_inv != ma->to_inv)
|
||||
m_inventory_mgr->setInventoryModified(ma->to_inv);
|
||||
|
||||
bool from_inv_is_current_player =
|
||||
(ma->from_inv.type == InventoryLocation::PLAYER) &&
|
||||
(ma->from_inv.name == player->getName());
|
||||
|
||||
bool to_inv_is_current_player =
|
||||
(ma->to_inv.type == InventoryLocation::PLAYER) &&
|
||||
(ma->to_inv.name == player->getName());
|
||||
bool from_inv_is_current_player = false;
|
||||
if (ma->from_inv.type == InventoryLocation::PLAYER) {
|
||||
if (ma->from_inv.name != player->getName())
|
||||
return;
|
||||
from_inv_is_current_player = true;
|
||||
}
|
||||
|
||||
bool to_inv_is_current_player = false;
|
||||
if (ma->to_inv.type == InventoryLocation::PLAYER) {
|
||||
if (ma->to_inv.name != player->getName())
|
||||
return;
|
||||
to_inv_is_current_player = true;
|
||||
}
|
||||
|
||||
InventoryLocation *remote = from_inv_is_current_player ?
|
||||
&ma->to_inv : &ma->from_inv;
|
||||
|
Loading…
Reference in New Issue
Block a user