From e9a084ea051229222bba406dd76459936a3061bd Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Wed, 5 Mar 2025 11:04:36 +0100 Subject: [PATCH] [core] fix resource leaks --- libfreerdp/core/activation.c | 2 +- libfreerdp/core/autodetect.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libfreerdp/core/activation.c b/libfreerdp/core/activation.c index 96492eb9f..92a585e21 100644 --- a/libfreerdp/core/activation.c +++ b/libfreerdp/core/activation.c @@ -211,7 +211,6 @@ BOOL rdp_send_server_control_granted_pdu(rdpRdp* rdp) BOOL rdp_send_client_control_pdu(rdpRdp* rdp, UINT16 action) { - wStream* s = rdp_data_pdu_init(rdp); UINT16 GrantId = 0; UINT16 ControlId = 0; @@ -227,6 +226,7 @@ BOOL rdp_send_client_control_pdu(rdpRdp* rdp, UINT16 action) return FALSE; } + wStream* s = rdp_data_pdu_init(rdp); if (!s) return FALSE; if (!rdp_write_client_control_pdu(s, action, GrantId, ControlId)) diff --git a/libfreerdp/core/autodetect.c b/libfreerdp/core/autodetect.c index 71da0886c..19a6896f6 100644 --- a/libfreerdp/core/autodetect.c +++ b/libfreerdp/core/autodetect.c @@ -308,7 +308,6 @@ static BOOL autodetect_send_bandwidth_measure_results(rdpAutoDetect* autodetect, UINT16 responseType, UINT16 sequenceNumber) { BOOL success = TRUE; - wStream* s = NULL; UINT64 timeDelta = GetTickCount64(); WINPR_ASSERT(autodetect); @@ -327,7 +326,7 @@ static BOOL autodetect_send_bandwidth_measure_results(rdpAutoDetect* autodetect, timeDelta -= autodetect->bandwidthMeasureStartTime; /* Send the result PDU to the server */ - s = rdp_message_channel_pdu_init(autodetect->context->rdp); + wStream* s = rdp_message_channel_pdu_init(autodetect->context->rdp); if (!s) return FALSE; @@ -350,6 +349,7 @@ static BOOL autodetect_send_bandwidth_measure_results(rdpAutoDetect* autodetect, if (!success) { WLog_Print(autodetect->log, WLOG_ERROR, "ClientBandwidthMeasureResult failed"); + Stream_Release(s); return FALSE; }