Skip to content
Snippets Groups Projects
Commit 2e44873a authored by est31's avatar est31
Browse files

Inventory manager style cleanup and further checks

parent b2160bce
No related branches found
No related tags found
No related merge requests found
......@@ -172,16 +172,16 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
Inventory *inv_from = mgr->getInventory(from_inv);
Inventory *inv_to = mgr->getInventory(to_inv);
if(!inv_from){
infostream<<"IMoveAction::apply(): FAIL: source inventory not found: "
<<"from_inv=\""<<from_inv.dump()<<"\""
<<", to_inv=\""<<to_inv.dump()<<"\""<<std::endl;
if (!inv_from) {
infostream << "IMoveAction::apply(): FAIL: source inventory not found: "
<< "from_inv=\""<<from_inv.dump() << "\""
<< ", to_inv=\"" << to_inv.dump() << "\"" << std::endl;
return;
}
if(!inv_to){
infostream<<"IMoveAction::apply(): FAIL: destination inventory not found: "
<<"from_inv=\""<<from_inv.dump()<<"\""
<<", to_inv=\""<<to_inv.dump()<<"\""<<std::endl;
if (!inv_to) {
infostream << "IMoveAction::apply(): FAIL: destination inventory not found: "
<< "from_inv=\"" << from_inv.dump() << "\""
<< ", to_inv=\"" << to_inv.dump() << "\"" << std::endl;
return;
}
......@@ -191,16 +191,16 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
/*
If a list doesn't exist or the source item doesn't exist
*/
if(!list_from){
infostream<<"IMoveAction::apply(): FAIL: source list not found: "
<<"from_inv=\""<<from_inv.dump()<<"\""
<<", from_list=\""<<from_list<<"\""<<std::endl;
if (!list_from) {
infostream << "IMoveAction::apply(): FAIL: source list not found: "
<< "from_inv=\"" << from_inv.dump() << "\""
<< ", from_list=\"" << from_list << "\"" << std::endl;
return;
}
if(!list_to){
infostream<<"IMoveAction::apply(): FAIL: destination list not found: "
<<"to_inv=\""<<to_inv.dump()<<"\""
<<", to_list=\""<<to_list<<"\""<<std::endl;
if (!list_to) {
infostream << "IMoveAction::apply(): FAIL: destination list not found: "
<< "to_inv=\""<<to_inv.dump() << "\""
<< ", to_list=\"" << to_list << "\"" << std::endl;
return;
}
......@@ -246,6 +246,13 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
move_somewhere = true;
return;
}
if ((u16)to_i > list_to->getSize()) {
infostream << "IMoveAction::apply(): FAIL: destination index out of bounds: "
<< "to_i=" << to_i
<< ", size=" << list_to->getSize() << std::endl;
return;
}
/*
Do not handle rollback if both inventories are that of the same player
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment