(krb5_recvauth): only look at errno if krb5_net_read actually returns

-1


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6828 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-08-16 12:46:22 +00:00
parent 9b9c51c614
commit 5381567d9b

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997 Kungliga Tekniska H<>gskolan
* Copyright (c) 1997 - 1999 Kungliga Tekniska H<>gskolan
* (Royal Institute of Technology, Stockholm, Sweden).
* All rights reserved.
*
@@ -62,6 +62,7 @@ krb5_recvauth(krb5_context context,
u_char repl;
krb5_data data;
krb5_flags ap_options;
ssize_t n;
/*
* If there are no addresses in auth_context, get them from `fd'.
@@ -80,8 +81,11 @@ krb5_recvauth(krb5_context context,
return ret;
if(!(flags & KRB5_RECVAUTH_IGNORE_VERSION)) {
if (krb5_net_read (context, p_fd, &len, 4) != 4)
n = krb5_net_read (context, p_fd, &len, 4);
if (n < 0)
return errno;
if (n == 0)
return KRB5_SENDAUTH_BADAUTHVERS;
len = ntohl(len);
if (len != sizeof(her_version)
|| krb5_net_read (context, p_fd, her_version, len) != len
@@ -92,8 +96,11 @@ krb5_recvauth(krb5_context context,
}
}
if (krb5_net_read (context, p_fd, &len, 4) != 4)
n = krb5_net_read (context, p_fd, &len, 4);
if (n < 0)
return errno;
if (n == 0)
return KRB5_SENDAUTH_BADAPPLVERS;
len = ntohl(len);
if (len != strlen(appl_version) + 1) {
repl = 2;