diff --git a/Client/Core/Networking/Client.cs b/Client/Core/Networking/Client.cs index 398bcb31..6108a5ae 100644 --- a/Client/Core/Networking/Client.cs +++ b/Client/Core/Networking/Client.cs @@ -496,7 +496,18 @@ namespace xClient.Core.Networking if (!isError) { if (compressionEnabled) - _payloadBuffer = SafeQuickLZ.Decompress(_payloadBuffer); + { + try + { + _payloadBuffer = SafeQuickLZ.Decompress(_payloadBuffer); + } + catch (Exception) + { + process = false; + Disconnect(); + break; + } + } isError = _payloadBuffer.Length == 0; // check if payload decompression failed } diff --git a/Server/Core/Networking/Client.cs b/Server/Core/Networking/Client.cs index f918064b..366f8d1c 100644 --- a/Server/Core/Networking/Client.cs +++ b/Server/Core/Networking/Client.cs @@ -451,7 +451,18 @@ namespace xServer.Core.Networking if (!isError) { if (compressionEnabled) - _payloadBuffer = SafeQuickLZ.Decompress(_payloadBuffer); + { + try + { + _payloadBuffer = SafeQuickLZ.Decompress(_payloadBuffer); + } + catch (Exception) + { + process = false; + Disconnect(); + break; + } + } isError = _payloadBuffer.Length == 0; // check if payload decompression failed }