aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Schink <openocd-dev@marcschink.de>2016-04-13 10:29:50 +0200
committerFreddie Chopin <freddie.chopin@gmail.com>2016-05-04 22:48:18 +0100
commit54908d9fb969c19e998f59b1c724287d0b3d8eb8 (patch)
treec7db1fdb4da9f8c11ff9b4c8ab8a694a2317b6cf
parent0f65e36ee176777a62fa0bbb8c31491928e98cf2 (diff)
server/telnet: Check malloc() return values
Change-Id: I598bd2dd5a65c0d1a8745bde41763057c4427a31 Signed-off-by: Marc Schink <openocd-dev@marcschink.de> Reviewed-on: http://openocd.zylin.com/3412 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
-rw-r--r--src/server/telnet_server.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c
index 2187dbe2..cb79189e 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;