From d06723e297d0ad5766bd6eafb3c59d275bad2db3 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 8 Mar 2016 13:19:40 +0100 Subject: [PATCH] Fixed return value for failed malloc. --- libfreerdp/core/client.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libfreerdp/core/client.c b/libfreerdp/core/client.c index 8c27237..fa7a16d 100644 --- a/libfreerdp/core/client.c +++ b/libfreerdp/core/client.c @@ -232,7 +232,7 @@ UINT freerdp_channels_post_connect(rdpChannels* channels, freerdp* instance) { UINT error = CHANNEL_RC_OK; int index; - char* name; + char* name = NULL; char* hostname; int hostnameLength; CHANNEL_CLIENT_DATA* pChannelClientData; @@ -259,7 +259,10 @@ UINT freerdp_channels_post_connect(rdpChannels* channels, freerdp* instance) name = (char*) malloc(9); if (!name) - return -1; + { + error = CHANNEL_RC_NO_MEMORY; + goto fail; + } CopyMemory(name, pChannelOpenData->name, 8); name[8] = '\0'; @@ -282,6 +285,7 @@ UINT freerdp_channels_post_connect(rdpChannels* channels, freerdp* instance) } fail: + free (name); return error; } -- 2.7.4