From 90000fd36e718f775303006aafd7bcc6ef9a146b Mon Sep 17 00:00:00 2001 From: Ondrej Holy Date: Fri, 24 Nov 2017 10:24:47 +0100 Subject: [PATCH] client/common: Fix two memory leaks in RDP file processing FALSE is returned immediately in case of parsing error and thus buffer copy is leaked. Let's release the memory properly. --- client/common/file.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/common/file.c b/client/common/file.c index c9d45f6..0fbf363 100644 --- a/client/common/file.c +++ b/client/common/file.c @@ -448,12 +448,12 @@ BOOL freerdp_client_parse_rdp_file_buffer(rdpFile* file, const BYTE* buffer, beg = line; if (freerdp_client_parse_rdp_file_add_line(file, line, index) == -1) - return FALSE; + goto fail; if (beg[0] == '/') { if (!freerdp_client_parse_rdp_file_option(file, line, index)) - return FALSE; + goto fail; goto next_line; /* FreeRDP option */ } -- 2.7.4