From bf376b6d4fd4dad7ced0e49bedc76cc2a0d797f1 Mon Sep 17 00:00:00 2001 From: "Bernhard R. Link" Date: Sun, 4 Oct 2009 14:23:50 +0200 Subject: do not segfault in ssh_bind_accept if bindaddr is NULL Signed-off-by: Andreas Schneider --- libssh/server.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/libssh/server.c b/libssh/server.c index 2a8ba334..96acb5b0 100644 --- a/libssh/server.c +++ b/libssh/server.c @@ -251,12 +251,16 @@ ssh_session ssh_bind_accept(SSH_BIND *sshbind) { } } - session->bindaddr = strdup(sshbind->bindaddr); - if (session->bindaddr == NULL) { - privatekey_free(dsa); - privatekey_free(rsa); - ssh_cleanup(session); - return NULL; + if (sshbind->bindaddr == NULL) + session->bindaddr = NULL; + else { + session->bindaddr = strdup(sshbind->bindaddr); + if (session->bindaddr == NULL) { + privatekey_free(dsa); + privatekey_free(rsa); + ssh_cleanup(session); + return NULL; + } } ssh_socket_free(session->socket); -- cgit