From 1b627b386763e22a7b8f7a7c8de9610c1da56cd2 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 1 Apr 2009 20:24:09 +0000 Subject: More memory error checks for ssh_socket_new(). git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@329 7dcaeef0-15fb-0310-b436-a5af3365683c --- libssh/server.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libssh/server.c') diff --git a/libssh/server.c b/libssh/server.c index ef45e6a..65903de 100644 --- a/libssh/server.c +++ b/libssh/server.c @@ -186,6 +186,14 @@ SSH_SESSION *ssh_bind_accept(SSH_BIND *ssh_bind){ ssh_socket_free(session->socket); session->socket=ssh_socket_new(session); + if (session->socket == NULL) { + if (dsa) + private_key_free(dsa); + if (rsa) + private_key_free(rsa); + ssh_cleanup(session); + return NULL; + } ssh_socket_set_fd(session->socket,fd); session->dsa_key=dsa; session->rsa_key=rsa; -- cgit