diff --git a/server/proxy/channels/pf_channel_drdynvc.c b/server/proxy/channels/pf_channel_drdynvc.c index 47b647a5a..a2acf3f64 100644 --- a/server/proxy/channels/pf_channel_drdynvc.c +++ b/server/proxy/channels/pf_channel_drdynvc.c @@ -406,13 +406,6 @@ static PfChannelResult DynvcTrackerPeekFn(ChannelStateTracker* tracker, BOOL fir trackerState->CurrentDataReceived, trackerState->currentDataLength); return PF_CHANNEL_RESULT_ERROR; } - - if (trackerState->CurrentDataReceived == trackerState->currentDataLength) - { - trackerState->currentDataLength = 0; - trackerState->CurrentDataFragments = 0; - trackerState->CurrentDataReceived = 0; - } } else { @@ -421,6 +414,13 @@ static PfChannelResult DynvcTrackerPeekFn(ChannelStateTracker* tracker, BOOL fir } } + if (trackerState->CurrentDataReceived == trackerState->currentDataLength) + { + trackerState->currentDataLength = 0; + trackerState->CurrentDataFragments = 0; + trackerState->CurrentDataReceived = 0; + } + switch (dynChannel->channelMode) { case PF_UTILS_CHANNEL_PASSTHROUGH: