From fc302a025270ee6e1099aa58c1c833b0d080e4ce Mon Sep 17 00:00:00 2001 From: Sergey Borshch Date: Wed, 19 Sep 2012 10:07:36 +0300 Subject: [PATCH] fix memory leaks if add_connection() fails, memory allocated in copy_command_context() is lost. Signed-off-by: Sergey Borshch Change-Id: I91a2757f29612038031eb8953100faa3b850d3a6 Reviewed-on: http://openocd.zylin.com/836 Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/server/server.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/server.c b/src/server/server.c index 96f06b3fe..1499e7387 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -85,6 +85,7 @@ static int add_connection(struct service *service, struct command_context *cmd_c if (retval != ERROR_OK) { close_socket(c->fd); LOG_ERROR("attempted '%s' connection rejected", service->name); + command_done(c->cmd_ctx); free(c); return retval; } @@ -104,6 +105,7 @@ static int add_connection(struct service *service, struct command_context *cmd_c retval = service->new_connection(c); if (retval != ERROR_OK) { LOG_ERROR("attempted '%s' connection rejected", service->name); + command_done(c->cmd_ctx); free(c); return retval; } @@ -124,6 +126,7 @@ static int add_connection(struct service *service, struct command_context *cmd_c retval = service->new_connection(c); if (retval != ERROR_OK) { LOG_ERROR("attempted '%s' connection rejected", service->name); + command_done(c->cmd_ctx); free(c); return retval; } -- 2.11.4.GIT