From 937c1581749f345ae46c8863827b48fa674b1b44 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Fri, 17 Mar 2023 19:02:10 +0100 Subject: [PATCH] [core,gateway] copy data for credssp the authentication data needs to be copied for use in credssp fixes #8811 --- libfreerdp/core/gateway/rpc_bind.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libfreerdp/core/gateway/rpc_bind.c b/libfreerdp/core/gateway/rpc_bind.c index 338cd9379..ec07edbef 100644 --- a/libfreerdp/core/gateway/rpc_bind.c +++ b/libfreerdp/core/gateway/rpc_bind.c @@ -345,8 +345,11 @@ BOOL rpc_recv_bind_ack_pdu(rdpRpc* rpc, wStream* s) auth_data = Stream_Pointer(s); Stream_SetPosition(s, end); - buffer.pvBuffer = auth_data; buffer.cbBuffer = header.common.auth_length; + buffer.pvBuffer = malloc(buffer.cbBuffer); + if (!buffer.pvBuffer) + goto fail; + memcpy(buffer.pvBuffer, auth_data, buffer.cbBuffer); credssp_auth_take_input_buffer(rpc->auth, &buffer); if (credssp_auth_authenticate(rpc->auth) < 0)