From 54908d9fb969c19e998f59b1c724287d0b3d8eb8 Mon Sep 17 00:00:00 2001 From: Marc Schink Date: Wed, 13 Apr 2016 10:29:50 +0200 Subject: [PATCH] server/telnet: Check malloc() return values Change-Id: I598bd2dd5a65c0d1a8745bde41763057c4427a31 Signed-off-by: Marc Schink Reviewed-on: http://openocd.zylin.com/3412 Tested-by: jenkins Reviewed-by: Spencer Oliver Reviewed-by: Freddie Chopin --- src/server/telnet_server.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c index 2187dbe28..cb79189ee 100644 --- a/src/server/telnet_server.c +++ b/src/server/telnet_server.c @@ -207,10 +207,17 @@ static void telnet_save_history(struct telnet_connection *t_con) static int telnet_new_connection(struct connection *connection) { - struct telnet_connection *telnet_connection = malloc(sizeof(struct telnet_connection)); + struct telnet_connection *telnet_connection; struct telnet_service *telnet_service = connection->service->priv; int i; + telnet_connection = malloc(sizeof(struct telnet_connection)); + + if (!telnet_connection) { + LOG_ERROR("Failed to allocate telnet connection."); + return ERROR_FAIL; + } + connection->priv = telnet_connection; /* initialize telnet connection information */ @@ -619,7 +626,14 @@ int telnet_init(char *banner) return ERROR_OK; } - struct telnet_service *telnet_service = malloc(sizeof(struct telnet_service)); + struct telnet_service *telnet_service; + + telnet_service = malloc(sizeof(struct telnet_service)); + + if (!telnet_service) { + LOG_ERROR("Failed to allocate telnet service."); + return ERROR_FAIL; + } telnet_service->banner = banner;