From c7c7874bf0c0789a0a0ae0428e01855c4189ba60 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 18 Aug 2025 14:11:35 +0200 Subject: [PATCH] [channels,cliprdr] improve casts --- channels/cliprdr/client/cliprdr_main.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/channels/cliprdr/client/cliprdr_main.c b/channels/cliprdr/client/cliprdr_main.c index 5a9c40a88..fc88dbcf0 100644 --- a/channels/cliprdr/client/cliprdr_main.c +++ b/channels/cliprdr/client/cliprdr_main.c @@ -66,14 +66,16 @@ static UINT cliprdr_packet_send(cliprdrPlugin* cliprdr, wStream* s) WINPR_ASSERT(s); const size_t pos = Stream_GetPosition(s); - const size_t dataLen = pos - 8ULL; - WINPR_ASSERT(dataLen <= UINT32_MAX); + WINPR_ASSERT(pos >= 8ULL); + WINPR_ASSERT(pos <= UINT32_MAX - 8); + + const uint32_t dataLen = WINPR_ASSERTING_INT_CAST(uint32_t, pos - 8UL); Stream_SetPosition(s, 4); - Stream_Write_UINT32(s, (UINT32)dataLen); + Stream_Write_UINT32(s, dataLen); Stream_SetPosition(s, pos); - WLog_Print(cliprdr->log, WLOG_DEBUG, "Cliprdr Sending (%" PRIuz " bytes)", dataLen + 8UL); + WLog_Print(cliprdr->log, WLOG_DEBUG, "Cliprdr Sending (%" PRIuz " bytes)", pos); if (!cliprdr) {