[core,peer] properly handle out of sequence PDU

If the peer state machine is in state
CONNECTION_STATE_CAPABILITIES_EXCHANGE_MONITOR_LAYOUT properly check for
available data. If a PDU was received in this state it is an out of
sequence PDU (that might happen during deactivation/reactivation) and
must be parsed.
This commit is contained in:
akallabeth 2024-01-09 16:19:41 +01:00 committed by Martin Fleisz
parent a612463c96
commit 0e828bd657

View File

@ -1035,6 +1035,10 @@ static state_run_t peer_recv_callback_internal(rdpTransport* transport, wStream*
else
ret = STATE_RUN_SUCCESS;
free(monitors);
const size_t len = Stream_GetRemainingLength(s);
if (!state_run_failed(ret) && (len > 0))
ret = STATE_RUN_CONTINUE;
}
else
{