Author: tschmitz
Date: Sun Aug 28 04:45:11 2011
New Revision: 50941
URL: http://svn.gna.org/viewcvs/wesnoth?rev=50941&view=rev
Log:
Fixed bug when receiving invalid whiteboard data.
Modified:
trunk/src/whiteboard/side_actions.cpp
Modified: trunk/src/whiteboard/side_actions.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/whiteboard/side_actions.cpp?rev=50941&r1=50940&r2=50941&view=diff
==============================================================================
--- trunk/src/whiteboard/side_actions.cpp (original)
+++ trunk/src/whiteboard/side_actions.cpp Sun Aug 28 04:45:11 2011
@@ -701,6 +701,13 @@
{
size_t turn = cmd["turn"].to_int();
size_t pos = cmd["pos"].to_int();
+ action_ptr act =
action::from_config(cmd.child("action"),hidden_);
+ if(!act)
+ {
+ ERR_WB << "side_actions::execute_network_command():
received invalid action data!\n";
+ return;
+ }
+
if(turn >= actions_.size()
|| pos >= actions_[turn].size())
{
@@ -709,12 +716,7 @@
}
iterator itor = turn_begin(turn)+pos;
- try {
- itor =
raw_insert(itor,action::from_config(cmd.child("action"),hidden_));
- } catch(action::ctor_err const&) {
- ERR_WB << "side_actions::execute_network_command():
received invalid data!\n";
- return;
- }
+ itor = raw_insert(itor,act);
safe_erase(++itor);
}
else if(type=="remove")
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits