--- deliantra/server/socket/loop.C 2007/11/08 19:43:30 1.70 +++ deliantra/server/socket/loop.C 2008/01/13 12:39:29 1.71 @@ -77,7 +77,7 @@ } else { - cmd_queue.push_back (command ()); + cmd_queue.resize (cmd_queue.size () + 1); command &cmd = cmd_queue.back (); cmd.stamp = stamp; cmd.handler = handler; @@ -103,6 +103,7 @@ else execute (cmd.handler, cmd.data, cmd.datalen); + sfree (cmd.data, cmd.datalen + 1); cmd_queue.pop_front (); return true; }