diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-10-20 14:47:11 +0200 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-10-20 14:47:11 +0200 |
commit | 98221f4e3640b2522851e49c7f81f5e500ed4a25 (patch) | |
tree | f1dc9608ec61cfb2d73a64580589b6746a04c198 /src/auth.c | |
parent | 8e2699e16139c8efdc54a06471de29966ccc233a (diff) | |
download | libssh-98221f4e3640b2522851e49c7f81f5e500ed4a25.tar.gz libssh-98221f4e3640b2522851e49c7f81f5e500ed4a25.tar.xz libssh-98221f4e3640b2522851e49c7f81f5e500ed4a25.zip |
Fixed a bunch of smallish bugs
http://linuxtesting.org/upstream-tracker/test_results/libssh/current/test_results.html
for a whole list
Diffstat (limited to 'src/auth.c')
-rw-r--r-- | src/auth.c | 25 |
1 files changed, 23 insertions, 2 deletions
@@ -423,6 +423,12 @@ int ssh_userauth_offer_pubkey(ssh_session session, const char *username, ssh_string algo = NULL; int rc = SSH_AUTH_ERROR; + if(session==NULL) + return SSH_AUTH_ERROR; + if(publickey==NULL){ + ssh_set_error(session,SSH_FATAL,"invalid arguments"); + return SSH_AUTH_ERROR; + } enter_function(); #ifdef WITH_SSH1 @@ -540,6 +546,12 @@ int ssh_userauth_pubkey(ssh_session session, const char *username, ssh_string pkstr = NULL; int rc = SSH_AUTH_ERROR; + if(session==NULL) + return SSH_AUTH_ERROR; + if(privatekey==NULL){ + ssh_set_error(session,SSH_FATAL,"invalid arguments"); + return SSH_AUTH_ERROR; + } enter_function(); #if 0 @@ -1583,6 +1595,8 @@ int ssh_userauth_kbdint(ssh_session session, const char *user, * @returns The number of prompts. */ int ssh_userauth_kbdint_getnprompts(ssh_session session) { + if(session==NULL || session->kbdint == NULL) + return SSH_ERROR; return session->kbdint->nprompts; } @@ -1597,6 +1611,8 @@ int ssh_userauth_kbdint_getnprompts(ssh_session session) { * @returns The name of the message block. Do not free it. */ const char *ssh_userauth_kbdint_getname(ssh_session session) { + if(session==NULL || session->kbdint == NULL) + return NULL; return session->kbdint->name; } @@ -1612,6 +1628,8 @@ const char *ssh_userauth_kbdint_getname(ssh_session session) { */ const char *ssh_userauth_kbdint_getinstruction(ssh_session session) { + if(session==NULL || session->kbdint == NULL) + return NULL; return session->kbdint->instruction; } @@ -1633,7 +1651,9 @@ const char *ssh_userauth_kbdint_getinstruction(ssh_session session) { */ const char *ssh_userauth_kbdint_getprompt(ssh_session session, unsigned int i, char *echo) { - if (i > session->kbdint->nprompts) { + if(session==NULL || session->kbdint == NULL) + return NULL; + if (i > session->kbdint->nprompts) { return NULL; } @@ -1660,7 +1680,8 @@ const char *ssh_userauth_kbdint_getprompt(ssh_session session, unsigned int i, */ int ssh_userauth_kbdint_setanswer(ssh_session session, unsigned int i, const char *answer) { - if (session == NULL || answer == NULL || i > session->kbdint->nprompts) { + if (session == NULL || answer == NULL || session->kbdint == NULL || + i > session->kbdint->nprompts) { return -1; } |