aboutsummaryrefslogtreecommitdiff
path: root/src/server/telnet_server.c
diff options
context:
space:
mode:
authorMarc Schink <openocd-dev@marcschink.de>2016-01-24 20:58:24 +0100
committerFreddie Chopin <freddie.chopin@gmail.com>2017-04-25 16:56:35 +0100
commitb43b95e46022d3baf76b44f7be34bbf0e6119594 (patch)
treef74666366f054f8ae4d6f45da4602c65111627e0 /src/server/telnet_server.c
parent99db18a995c8ef2913f1397dcc94d0533331e598 (diff)
downloadriscv-openocd-b43b95e46022d3baf76b44f7be34bbf0e6119594.zip
riscv-openocd-b43b95e46022d3baf76b44f7be34bbf0e6119594.tar.gz
riscv-openocd-b43b95e46022d3baf76b44f7be34bbf0e6119594.tar.bz2
server/server: Remove all exit() calls
With this patch OpenOCD shuts down properly when errors occur in the server instead of just calling exit(). Change-Id: I2ae1a6153dafc88667951cab9152941cb487be85 Signed-off-by: Marc Schink <openocd-dev@marcschink.de> Reviewed-on: http://openocd.zylin.com/3223 Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Tested-by: jenkins
Diffstat (limited to 'src/server/telnet_server.c')
-rw-r--r--src/server/telnet_server.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c
index 0f5769a..e5eb4bb 100644
--- a/src/server/telnet_server.c
+++ b/src/server/telnet_server.c
@@ -624,9 +624,8 @@ int telnet_init(char *banner)
return ERROR_OK;
}
- struct telnet_service *telnet_service;
-
- telnet_service = malloc(sizeof(struct telnet_service));
+ struct telnet_service *telnet_service =
+ malloc(sizeof(struct telnet_service));
if (!telnet_service) {
LOG_ERROR("Failed to allocate telnet service.");
@@ -635,13 +634,16 @@ int telnet_init(char *banner)
telnet_service->banner = banner;
- return add_service("telnet",
- telnet_port,
- CONNECTION_LIMIT_UNLIMITED,
- telnet_new_connection,
- telnet_input,
- telnet_connection_closed,
+ int ret = add_service("telnet", telnet_port, CONNECTION_LIMIT_UNLIMITED,
+ telnet_new_connection, telnet_input, telnet_connection_closed,
telnet_service);
+
+ if (ret != ERROR_OK) {
+ free(telnet_service);
+ return ret;
+ }
+
+ return ERROR_OK;
}
/* daemon configuration command telnet_port */