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

Reply via email to