diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2011-04-14 14:16:58 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2011-04-14 14:16:58 +0200 |
commit | 3e7d4534cec141141e2b2cc5beedcc171cd99360 (patch) | |
tree | bd1256ad7558b8a628d452f35014a127adbe037a /examples/connect_ssh.c | |
parent | cee8ca339bd8e9f8d73e33d991ccae5bde6ac323 (diff) | |
download | libssh-3e7d4534cec141141e2b2cc5beedcc171cd99360.tar.gz libssh-3e7d4534cec141141e2b2cc5beedcc171cd99360.tar.xz libssh-3e7d4534cec141141e2b2cc5beedcc171cd99360.zip |
examples: Call correct functions on exit.
Diffstat (limited to 'examples/connect_ssh.c')
-rw-r--r-- | examples/connect_ssh.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/examples/connect_ssh.c b/examples/connect_ssh.c index 90a2f34..c9e4ef6 100644 --- a/examples/connect_ssh.c +++ b/examples/connect_ssh.c @@ -32,22 +32,25 @@ ssh_session connect_ssh(const char *host, const char *user,int verbosity){ if(user != NULL){ if (ssh_options_set(session, SSH_OPTIONS_USER, user) < 0) { - ssh_disconnect(session); + ssh_free(session); return NULL; } } if (ssh_options_set(session, SSH_OPTIONS_HOST, host) < 0) { + ssh_free(session); return NULL; } ssh_options_set(session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity); if(ssh_connect(session)){ fprintf(stderr,"Connection failed : %s\n",ssh_get_error(session)); ssh_disconnect(session); + ssh_free(session); return NULL; } if(verify_knownhost(session)<0){ ssh_disconnect(session); + ssh_free(session); return NULL; } auth=authenticate_console(session); @@ -59,5 +62,6 @@ ssh_session connect_ssh(const char *host, const char *user,int verbosity){ fprintf(stderr,"Error while authenticating : %s\n",ssh_get_error(session)); } ssh_disconnect(session); + ssh_free(session); return NULL; } |