mirror of
https://github.com/FreeRDP/FreeRDP.git
synced 2025-06-03 00:00:20 +00:00
proxy: Fix crash due to format specifier/type mismatch in debug logging
The cmd parameter (type int) has been logged using the %s format specifier causing an access violation. Fixed by using get_packet_type to convert cmd to a string.
This commit is contained in:
parent
1849632c43
commit
a42a765cc3
@ -399,14 +399,14 @@ static PfChannelResult DynvcTrackerPeekFn(ChannelStateTracker* tracker, BOOL fir
|
|||||||
if (dynChannel->openStatus != CHANNEL_OPENSTATE_OPENED)
|
if (dynChannel->openStatus != CHANNEL_OPENSTATE_OPENED)
|
||||||
{
|
{
|
||||||
WLog_ERR(TAG, "DynvcTracker(%s [%s]): channel is not opened", dynChannel->channel_name,
|
WLog_ERR(TAG, "DynvcTracker(%s [%s]): channel is not opened", dynChannel->channel_name,
|
||||||
cmd);
|
get_packet_type(cmd));
|
||||||
return PF_CHANNEL_RESULT_ERROR;
|
return PF_CHANNEL_RESULT_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((cmd == DATA_FIRST_PDU) || (cmd == DATA_FIRST_COMPRESSED_PDU))
|
if ((cmd == DATA_FIRST_PDU) || (cmd == DATA_FIRST_COMPRESSED_PDU))
|
||||||
{
|
{
|
||||||
WLog_DBG(TAG, "DynvcTracker(%s [%s]): %s DATA_FIRST currentPacketLength=%" PRIu64 "",
|
WLog_DBG(TAG, "DynvcTracker(%s [%s]): %s DATA_FIRST currentPacketLength=%" PRIu64 "",
|
||||||
dynChannel->channel_name, cmd, direction, Length);
|
dynChannel->channel_name, get_packet_type(cmd), direction, Length);
|
||||||
trackerState->currentDataLength = Length;
|
trackerState->currentDataLength = Length;
|
||||||
trackerState->CurrentDataReceived = 0;
|
trackerState->CurrentDataReceived = 0;
|
||||||
trackerState->CurrentDataFragments = 0;
|
trackerState->CurrentDataFragments = 0;
|
||||||
@ -417,8 +417,8 @@ static PfChannelResult DynvcTrackerPeekFn(ChannelStateTracker* tracker, BOOL fir
|
|||||||
trackerState->CurrentDataFragments++;
|
trackerState->CurrentDataFragments++;
|
||||||
trackerState->CurrentDataReceived += Stream_GetRemainingLength(s);
|
trackerState->CurrentDataReceived += Stream_GetRemainingLength(s);
|
||||||
WLog_DBG(TAG,
|
WLog_DBG(TAG,
|
||||||
"DynvcTracker(%s [%s]): %s %s frags=%" PRIu32 " received=%" PRIu32 "(%" PRIu32 ")",
|
"DynvcTracker(%s [%s]): %s frags=%" PRIu32 " received=%" PRIu32 "(%" PRIu32 ")",
|
||||||
dynChannel->channel_name, cmd, direction, cmd == DATA_PDU ? "DATA" : "DATA_FIRST",
|
dynChannel->channel_name, get_packet_type(cmd), direction,
|
||||||
trackerState->CurrentDataFragments, trackerState->CurrentDataReceived,
|
trackerState->CurrentDataFragments, trackerState->CurrentDataReceived,
|
||||||
trackerState->currentDataLength);
|
trackerState->currentDataLength);
|
||||||
}
|
}
|
||||||
@ -432,8 +432,8 @@ static PfChannelResult DynvcTrackerPeekFn(ChannelStateTracker* tracker, BOOL fir
|
|||||||
WLog_ERR(TAG,
|
WLog_ERR(TAG,
|
||||||
"DynvcTracker (%s [%s]): reassembled packet (%" PRIu32
|
"DynvcTracker (%s [%s]): reassembled packet (%" PRIu32
|
||||||
") is bigger than announced length (%" PRIu32 ")",
|
") is bigger than announced length (%" PRIu32 ")",
|
||||||
dynChannel->channel_name, cmd, trackerState->CurrentDataReceived,
|
dynChannel->channel_name, get_packet_type(cmd),
|
||||||
trackerState->currentDataLength);
|
trackerState->CurrentDataReceived, trackerState->currentDataLength);
|
||||||
return PF_CHANNEL_RESULT_ERROR;
|
return PF_CHANNEL_RESULT_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user