Drop and log sync orders with mismatching length

This commit is contained in:
abcdefg30
2020-10-11 20:27:52 +02:00
committed by abcdefg30
parent c17110dac5
commit 1bc19e788c
3 changed files with 23 additions and 4 deletions

View File

@@ -784,8 +784,13 @@ namespace OpenRA.Server
{
recorder.ReceiveFrame(from, frame, data);
if (data.Length == Order.SyncHashOrderLength && data[0] == (byte)OrderType.SyncHash)
HandleSyncOrder(frame, data);
if (data.Length > 0 && data[0] == (byte)OrderType.SyncHash)
{
if (data.Length == Order.SyncHashOrderLength)
HandleSyncOrder(frame, data);
else
Log.Write("server", "Dropped sync order with length {0} from client {1}. Expected length {2}.".F(data.Length, from, Order.SyncHashOrderLength));
}
}
}