]> git.sur5r.net Git - openocd/commitdiff
server/telnet: Check malloc() return values
authorMarc Schink <openocd-dev@marcschink.de>
Wed, 13 Apr 2016 08:29:50 +0000 (10:29 +0200)
committerFreddie Chopin <freddie.chopin@gmail.com>
Wed, 4 May 2016 21:48:18 +0000 (22:48 +0100)
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>
src/server/telnet_server.c

index 2187dbe280bdf71585ad2905acd40cd5f6194879..cb79189eec11dc9d9b871535b13da70405a210e8 100644 (file)
@@ -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;