diff options
author | kwolekr <kwolekr@minetest.net> | 2015-07-13 23:29:29 -0400 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2015-07-13 23:29:29 -0400 |
commit | 5006ce82609b2260f191b132f2dabcfdb06d6e20 (patch) | |
tree | 37dff0c7114047e67571bc8f853df7257b957be9 /src/environment.cpp | |
parent | 6f07f79c2f36b007b4c0385b7df2fc4612af7aba (diff) | |
download | minetest-5006ce82609b2260f191b132f2dabcfdb06d6e20.tar.gz minetest-5006ce82609b2260f191b132f2dabcfdb06d6e20.tar.bz2 minetest-5006ce82609b2260f191b132f2dabcfdb06d6e20.zip |
Remove raw message output on AOM deserialization failure
Improve TOCLIENT_ACTIVE_OBJECT_MESSAGES robustness for handling invalid data
Diffstat (limited to 'src/environment.cpp')
-rw-r--r-- | src/environment.cpp | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/src/environment.cpp b/src/environment.cpp index 09db886a8..5affda6fa 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -2535,28 +2535,23 @@ void ClientEnvironment::removeActiveObject(u16 id) m_active_objects.erase(id); } -void ClientEnvironment::processActiveObjectMessage(u16 id, - const std::string &data) +void ClientEnvironment::processActiveObjectMessage(u16 id, const std::string &data) { - ClientActiveObject* obj = getActiveObject(id); - if(obj == NULL) - { - infostream<<"ClientEnvironment::processActiveObjectMessage():" - <<" got message for id="<<id<<", which doesn't exist." - <<std::endl; + ClientActiveObject *obj = getActiveObject(id); + if (obj == NULL) { + infostream << "ClientEnvironment::processActiveObjectMessage():" + << " got message for id=" << id << ", which doesn't exist." + << std::endl; return; } - try - { + + try { obj->processMessage(data); - } - catch(SerializationError &e) - { + } catch (SerializationError &e) { errorstream<<"ClientEnvironment::processActiveObjectMessage():" - <<" id="<<id<<" type="<<obj->getType() - <<" SerializationError in processMessage()," - <<" message="<<serializeJsonString(data) - <<std::endl; + << " id=" << id << " type=" << obj->getType() + << " SerializationError in processMessage(): " << e.what() + << std::endl; } } |