From 721f2c3b29d8107d511930f44e60c82115016fc3 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 15 Dec 2012 16:56:06 +0100 Subject: [PATCH] client: Fix memory leak from readline input callback --- client/main.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/client/main.c b/client/main.c index 95d237f59..762595e99 100644 --- a/client/main.c +++ b/client/main.c @@ -754,13 +754,13 @@ static void rl_handler(char *input) } if (!strlen(input)) - return; + goto done; add_history(input); cmd = strtok_r(input, " ", &arg); if (!cmd) - return; + goto done; if (arg) { int len = strlen(arg); @@ -774,13 +774,13 @@ static void rl_handler(char *input) if (cmd_table[i].func) { cmd_table[i].func(arg); - return; + goto done; } } if (strcmp(cmd, "help")) { printf("Invalid command\n"); - return; + goto done; } printf("Available commands:\n"); @@ -791,6 +791,9 @@ static void rl_handler(char *input) cmd_table[i].arg ? : " ", cmd_table[i].desc); } + +done: + free(input); } static gboolean input_handler(GIOChannel *channel, GIOCondition condition, -- 2.47.3