From 6dd1ee305593471718a2b50c4c3faf92c07d04a4 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Sun, 8 Dec 2024 10:21:42 +0100 Subject: [PATCH] [winpr,endianess] replace usage of Data_Read_* Use new and improved winpr_Data_Get_* --- libfreerdp/codec/xcrush.c | 9 +++++---- winpr/libwinpr/crt/string.c | 8 ++------ winpr/libwinpr/sspi/Kerberos/kerberos.c | 12 ++++++------ winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c | 2 +- winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c | 6 ++---- winpr/libwinpr/sspi/NTLM/ntlm_message.c | 2 +- 6 files changed, 17 insertions(+), 22 deletions(-) diff --git a/libfreerdp/codec/xcrush.c b/libfreerdp/codec/xcrush.c index 4c50b852e..b45c1448c 100644 --- a/libfreerdp/codec/xcrush.c +++ b/libfreerdp/codec/xcrush.c @@ -847,7 +847,7 @@ static int xcrush_decompress_l1(XCRUSH_CONTEXT* WINPR_RESTRICT xcrush, if ((pSrcData + 2) > pSrcEnd) return -1003; - Data_Read_UINT16(pSrcData, MatchCount); + MatchCount = winpr_Data_Get_UINT16(pSrcData); MatchDetails = (const RDP61_MATCH_DETAILS*)&pSrcData[2]; Literals = (const BYTE*)&MatchDetails[MatchCount]; OutputOffset = 0; @@ -857,9 +857,10 @@ static int xcrush_decompress_l1(XCRUSH_CONTEXT* WINPR_RESTRICT xcrush, for (MatchIndex = 0; MatchIndex < MatchCount; MatchIndex++) { - Data_Read_UINT16(&MatchDetails[MatchIndex].MatchLength, MatchLength); - Data_Read_UINT16(&MatchDetails[MatchIndex].MatchOutputOffset, MatchOutputOffset); - Data_Read_UINT32(&MatchDetails[MatchIndex].MatchHistoryOffset, MatchHistoryOffset); + MatchLength = winpr_Data_Get_UINT16(&MatchDetails[MatchIndex].MatchLength); + MatchOutputOffset = winpr_Data_Get_UINT16(&MatchDetails[MatchIndex].MatchOutputOffset); + MatchHistoryOffset = + winpr_Data_Get_UINT32(&MatchDetails[MatchIndex].MatchHistoryOffset); if (MatchOutputOffset < OutputOffset) return -1005; diff --git a/winpr/libwinpr/crt/string.c b/winpr/libwinpr/crt/string.c index 9376b9e8d..55505f96d 100644 --- a/winpr/libwinpr/crt/string.c +++ b/winpr/libwinpr/crt/string.c @@ -532,11 +532,9 @@ DWORD CharUpperBuffA(LPSTR lpsz, DWORD cchLength) DWORD CharUpperBuffW(LPWSTR lpsz, DWORD cchLength) { - WCHAR value = 0; - for (DWORD i = 0; i < cchLength; i++) { - Data_Read_UINT16(&lpsz[i], value); + WCHAR value = winpr_Data_Get_UINT16(&lpsz[i]); value = WINPR_TOUPPERW(value); Data_Write_UINT16(&lpsz[i], value); } @@ -601,11 +599,9 @@ DWORD CharLowerBuffA(LPSTR lpsz, DWORD cchLength) DWORD CharLowerBuffW(LPWSTR lpsz, DWORD cchLength) { - WCHAR value = 0; - for (DWORD i = 0; i < cchLength; i++) { - Data_Read_UINT16(&lpsz[i], value); + WCHAR value = winpr_Data_Get_UINT16(&lpsz[i]); value = WINPR_TOLOWERW(value); Data_Write_UINT16(&lpsz[i], value); } diff --git a/winpr/libwinpr/sspi/Kerberos/kerberos.c b/winpr/libwinpr/sspi/Kerberos/kerberos.c index 26cea5660..88a4bbff8 100644 --- a/winpr/libwinpr/sspi/Kerberos/kerberos.c +++ b/winpr/libwinpr/sspi/Kerberos/kerberos.c @@ -1925,11 +1925,11 @@ static SECURITY_STATUS SEC_ENTRY kerberos_DecryptMessage(PCtxtHandle phContext, /* Read in header information */ header = sig_buffer->pvBuffer; - Data_Read_UINT16_BE(header, tok_id); + tok_id = winpr_Data_Get_UINT16_BE(header); flags = header[2]; - Data_Read_UINT16_BE((header + 4), ec); - Data_Read_UINT16_BE((header + 6), rrc); - Data_Read_UINT64_BE((header + 8), seq_no); + ec = winpr_Data_Get_UINT16_BE((header + 4)); + rrc = winpr_Data_Get_UINT16_BE((header + 6)); + seq_no = winpr_Data_Get_UINT64_BE((header + 8)); /* Check that the header is valid */ if (tok_id != TOK_ID_WRAP || (BYTE)header[3] != 0xFF) @@ -2096,9 +2096,9 @@ static SECURITY_STATUS SEC_ENTRY kerberos_VerifySignature(PCtxtHandle phContext, /* Read in header info */ header = sig_buffer->pvBuffer; - Data_Read_UINT16_BE(header, tok_id); + tok_id = winpr_Data_Get_UINT16_BE(header); flags = header[2]; - Data_Read_UINT64_BE((header + 8), seq_no); + seq_no = winpr_Data_Get_UINT64_BE((header + 8)); /* Validate header */ if (tok_id != TOK_ID_MIC) diff --git a/winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c b/winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c index 9bee06ed3..366831017 100644 --- a/winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c +++ b/winpr/libwinpr/sspi/Kerberos/krb5glue_mit.c @@ -114,7 +114,7 @@ BOOL krb5glue_authenticator_validate_chksum(krb5glue_authenticator authenticator if (!authenticator || !authenticator->checksum || authenticator->checksum->checksum_type != cksumtype || authenticator->checksum->length < 24) return FALSE; - Data_Read_UINT32((authenticator->checksum->contents + 20), (*flags)); + *flags = winpr_Data_Get_UINT32((authenticator->checksum->contents + 20)); return TRUE; } diff --git a/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c b/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c index 9b0d00c66..fbf7f6b3e 100644 --- a/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c +++ b/winpr/libwinpr/sspi/NTLM/ntlm_av_pairs.c @@ -109,14 +109,13 @@ static BOOL ntlm_av_pair_list_init(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairLis static INLINE BOOL ntlm_av_pair_get_id(const NTLM_AV_PAIR* pAvPair, size_t size, UINT16* pair) { - UINT16 AvId = 0; if (!pAvPair || !pair) return FALSE; if (size < sizeof(NTLM_AV_PAIR)) return FALSE; - Data_Read_UINT16(&pAvPair->AvId, AvId); + const UINT16 AvId = winpr_Data_Get_UINT16(&pAvPair->AvId); *pair = AvId; return TRUE; @@ -142,14 +141,13 @@ ULONG ntlm_av_pair_list_length(NTLM_AV_PAIR* pAvPairList, size_t cbAvPairList) static INLINE BOOL ntlm_av_pair_get_len(const NTLM_AV_PAIR* pAvPair, size_t size, size_t* pAvLen) { - UINT16 AvLen = 0; if (!pAvPair) return FALSE; if (size < sizeof(NTLM_AV_PAIR)) return FALSE; - Data_Read_UINT16(&pAvPair->AvLen, AvLen); + const UINT16 AvLen = winpr_Data_Get_UINT16(&pAvPair->AvLen); *pAvLen = AvLen; return TRUE; diff --git a/winpr/libwinpr/sspi/NTLM/ntlm_message.c b/winpr/libwinpr/sspi/NTLM/ntlm_message.c index d6da9c34a..cc06cb610 100644 --- a/winpr/libwinpr/sspi/NTLM/ntlm_message.c +++ b/winpr/libwinpr/sspi/NTLM/ntlm_message.c @@ -1040,7 +1040,7 @@ SECURITY_STATUS ntlm_read_AuthenticateMessage(NTLM_CONTEXT* context, PSecBuffer context->NTLMv2Response.Challenge.cbAvPairs, MsvAvFlags, &cbAvFlags); if (AvFlags) - Data_Read_UINT32(ntlm_av_pair_get_value_pointer(AvFlags), flags); + flags = winpr_Data_Get_UINT32(ntlm_av_pair_get_value_pointer(AvFlags)); } if (!ntlm_read_message_fields_buffer(