From dc2265338ac00680d0fdcd44fb5e5d18c136766b Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Mon, 16 Aug 1999 12:46:52 +0000 Subject: [PATCH] (krb5_sendauth): only look at errno if krb5_net_read actually returns -1 git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6829 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/sendauth.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/krb5/sendauth.c b/lib/krb5/sendauth.c index 5faabbf75..5312b37fa 100644 --- a/lib/krb5/sendauth.c +++ b/lib/krb5/sendauth.c @@ -90,6 +90,7 @@ krb5_sendauth(krb5_context context, krb5_creds this_cred; krb5_principal this_client = NULL; krb5_creds *creds; + ssize_t sret; len = strlen(version) + 1; net_len = htonl(len); @@ -103,11 +104,14 @@ krb5_sendauth(krb5_context context, || krb5_net_write (context, p_fd, appl_version, len) != len) return errno; - if (krb5_net_read (context, p_fd, &repl, sizeof(repl)) != sizeof(repl)) + sret = krb5_net_read (context, p_fd, &repl, sizeof(repl)); + if (sret < 0) return errno; + else if (sret != sizeof(repl)) + return KRB5_SENDAUTH_BADRESPONSE; if (repl != 0) - return KRB5_SENDAUTH_BADRESPONSE; /* XXX */ + return KRB5_SENDAUTH_REJECTED; if (in_creds == NULL) { if (ccache == NULL) {