From 348ecc4c810b53c7806396b0d760db34ddd5ce7c Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 19 Jun 2018 12:55:29 +0200 Subject: [PATCH] Fixed memory leak in command line value parsing. --- client/common/cmdline.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/client/common/cmdline.c b/client/common/cmdline.c index a607aff..f1b311c 100644 --- a/client/common/cmdline.c +++ b/client/common/cmdline.c @@ -585,17 +585,15 @@ static char** freerdp_command_line_parse_comma_separated_values_ex(const char* n { if (name) { - p = (char**) calloc(1UL, sizeof(char*)); + size_t len = strlen(name); + p = (char**) calloc(1UL + len, sizeof(char*)); if (p) { - p[0] = strdup(name); + char* dst = (char*)&p[1]; + p[0] = dst; - if (!p[0]) - { - free(p); - return NULL; - } + strncpy(dst, name, len); *count = 1; return p; -- 2.7.4