diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c
index 2187dbe280bdf71585ad2905acd40cd5f6194879..cb79189eec11dc9d9b871535b13da70405a210e8 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;