Skip to content

Commit b84a08c

Browse files
committed
fix handshake attack crash
1 parent 2a1de69 commit b84a08c

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

subspace/src/network/ClientTcpConnection.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,17 @@ namespace subspace {
9494
content.resize(length);
9595
asyncRead(socket, content, [this]() {
9696
if (waitingHandshake) {
97-
FriendlyByteBuf buf(content);
98-
playerUuid = buf.readUUID();
99-
if (!TokenManager::contains(playerUuid)) {
100-
spdlog::warn("Unknown player UUID from {}, rejecting.", getRemoteAddress());
97+
try {
98+
FriendlyByteBuf buf(content);
99+
playerUuid = buf.readUUID();
100+
if (!TokenManager::contains(playerUuid)) {
101+
spdlog::warn("Unknown player UUID from {}, rejecting.", getRemoteAddress());
102+
disconnect();
103+
return;
104+
}
105+
} catch (std::exception& e) {
106+
spdlog::warn("Something went wrong: {}, disconnecting.", e.what());
101107
disconnect();
102-
return;
103108
}
104109
}
105110
handleRaw(content);

0 commit comments

Comments
 (0)