Diff between b4847cb5fbf2f818dbca6844d097fbc3eff44923 and 721f2c3b29d8107d511930f44e60c82115016fc3

Changed Files

File Additions Deletions Status
client/main.c +7 -4 modified

Full Patch

diff --git a/client/main.c b/client/main.c
index 95d237f..762595e 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,