aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp10
-rw-r--r--src/server/shared/Packets/ByteBuffer.h7
2 files changed, 6 insertions, 11 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 3b0197387b7..417c05720b5 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -706,19 +706,17 @@ void WorldSession::HandleUpdateAccountData(WorldPackets::ClientConfig::UserClien
return;
}
- ByteBuffer dest(packet.Size, ByteBuffer::Resize{});
+ std::string dest;
+ dest.resize(packet.Size);
uLongf realSize = packet.Size;
- if (uncompress(dest.contents(), &realSize, packet.CompressedData.contents(), packet.CompressedData.size()) != Z_OK)
+ if (uncompress(reinterpret_cast<Bytef*>(dest.data()), &realSize, packet.CompressedData.contents(), packet.CompressedData.size()) != Z_OK)
{
TC_LOG_ERROR("network", "UAD: Failed to decompress account data");
return;
}
- std::string adata;
- dest >> adata;
-
- SetAccountData(AccountDataType(packet.DataType), packet.Time, adata);
+ SetAccountData(AccountDataType(packet.DataType), packet.Time, dest);
}
void WorldSession::HandleRequestAccountData(WorldPackets::ClientConfig::RequestAccountData& request)
diff --git a/src/server/shared/Packets/ByteBuffer.h b/src/server/shared/Packets/ByteBuffer.h
index 9233c4f5150..e7fa67d632f 100644
--- a/src/server/shared/Packets/ByteBuffer.h
+++ b/src/server/shared/Packets/ByteBuffer.h
@@ -633,16 +633,13 @@ class TC_SHARED_API ByteBuffer
/// @todo Make a ByteBuffer.cpp and move all this inlining to it.
template<> inline std::string ByteBuffer::read<std::string>()
{
- std::string tmp;
- *this >> tmp;
- return tmp;
+ return std::string(ReadCString());
}
template<>
inline void ByteBuffer::read_skip<char*>()
{
- std::string temp;
- *this >> temp;
+ (void)ReadCString();
}
template<>