From b3463a9e9cbd706d7c41143b3cd34be3e701e988 Mon Sep 17 00:00:00 2001 From: FORT David Date: Mon, 20 Jul 2015 14:39:21 +0200 Subject: [PATCH] Fix crash when using RDP4 security The initialization of the freerdp_peer was done too early. This fixes https://bugs.freedesktop.org/show_bug.cgi?id=91390. Acked-by: Pekka Paalanen Reviewed-by: Bryce Harrington --- src/compositor-rdp.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compositor-rdp.c b/src/compositor-rdp.c index 70d290b3..4ef0dd15 100644 --- a/src/compositor-rdp.c +++ b/src/compositor-rdp.c @@ -1090,8 +1090,6 @@ rdp_peer_init(freerdp_peer *client, struct rdp_backend *b) peerCtx = (RdpPeerContext *) client->context; peerCtx->rdpBackend = b; - client->Initialize(client); - settings = client->settings; /* configure security settings */ if (b->rdp_key) @@ -1104,6 +1102,8 @@ rdp_peer_init(freerdp_peer *client, struct rdp_backend *b) } settings->NlaSecurity = FALSE; + client->Initialize(client); + settings->OsMajorType = OSMAJORTYPE_UNIX; settings->OsMinorType = OSMINORTYPE_PSEUDO_XSERVER; settings->ColorDepth = 32; @@ -1113,6 +1113,7 @@ rdp_peer_init(freerdp_peer *client, struct rdp_backend *b) settings->FrameMarkerCommandEnabled = TRUE; settings->SurfaceFrameMarkerEnabled = TRUE; + client->Capabilities = xf_peer_capabilities; client->PostConnect = xf_peer_post_connect; client->Activate = xf_peer_activate;