diff options
Diffstat (limited to 'src/server/telnet_server.c')
-rw-r--r-- | src/server/telnet_server.c | 18 |
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; |