From: Sergey Borshch Date: Wed, 19 Sep 2012 07:07:36 +0000 (+0300) Subject: fix memory leaks X-Git-Tag: v0.7.0-rc1~175 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=fc302a025270ee6e1099aa58c1c833b0d080e4ce 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 --- diff --git a/src/server/server.c b/src/server/server.c index 96f06b3fef..1499e73875 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; }