From 59c4a342a9625fe37e9a7aa755e6deca14c3a110 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Tue, 3 May 2011 17:33:51 +0300 Subject: [PATCH] Fixed a temporary solution of server shutting down to an assert(0) when a too large block metadata is sent to an old client --- src/mapblock.cpp | 14 +++++++++++--- src/utility.h | 4 +++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/mapblock.cpp b/src/mapblock.cpp index f84c65176..67e7e2574 100644 --- a/src/mapblock.cpp +++ b/src/mapblock.cpp @@ -2109,9 +2109,17 @@ void MapBlock::serialize(std::ostream &os, u8 version) { if(version <= 15) { - std::ostringstream oss(std::ios_base::binary); - m_node_metadata.serialize(oss); - os< 65535) + throw SerializationError("String too long for serializeString"); char buf[2]; writeU16((u8*)&buf[0], plain.size()); std::string s;