diff options
Diffstat (limited to 'src/lib/krb5/os/read_msg.c')
-rw-r--r-- | src/lib/krb5/os/read_msg.c | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/src/lib/krb5/os/read_msg.c b/src/lib/krb5/os/read_msg.c index 82a2573763..8d3dfe30c7 100644 --- a/src/lib/krb5/os/read_msg.c +++ b/src/lib/krb5/os/read_msg.c @@ -1,3 +1,4 @@ +/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */ /* * lib/krb5/os/read_msg.c * @@ -8,7 +9,7 @@ * require a specific license from the United States Government. * It is the responsibility of any person or organization contemplating * export to obtain such a license before exporting. - * + * * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and * distribute this software and its documentation for any purpose and * without fee is hereby granted, provided that the above copyright @@ -22,7 +23,7 @@ * M.I.T. makes no representations about the suitability of * this software for any purpose. It is provided "as is" without express * or implied warranty. - * + * * * Write a message to the network */ @@ -33,34 +34,34 @@ krb5_error_code krb5_read_message(krb5_context context, krb5_pointer fdp, krb5_data *inbuf) { - krb5_int32 len; - int len2, ilen; - char *buf = NULL; - int fd = *( (int *) fdp); + krb5_int32 len; + int len2, ilen; + char *buf = NULL; + int fd = *( (int *) fdp); - inbuf->data = NULL; - inbuf->length = 0; + inbuf->data = NULL; + inbuf->length = 0; - if ((len2 = krb5_net_read(context, fd, (char *)&len, 4)) != 4) - return((len2 < 0) ? errno : ECONNABORTED); - len = ntohl(len); + if ((len2 = krb5_net_read(context, fd, (char *)&len, 4)) != 4) + return((len2 < 0) ? errno : ECONNABORTED); + len = ntohl(len); - if ((len & VALID_UINT_BITS) != len) /* Overflow size_t??? */ - return ENOMEM; + if ((len & VALID_UINT_BITS) != len) /* Overflow size_t??? */ + return ENOMEM; - inbuf->length = ilen = (int) len; - if (ilen) { - /* - * We may want to include a sanity check here someday.... - */ - if (!(buf = malloc(inbuf->length))) { - return(ENOMEM); - } - if ((len2 = krb5_net_read(context, fd, buf, ilen)) != ilen) { - free(buf); - return((len2 < 0) ? errno : ECONNABORTED); - } - } - inbuf->data = buf; - return(0); + inbuf->length = ilen = (int) len; + if (ilen) { + /* + * We may want to include a sanity check here someday.... + */ + if (!(buf = malloc(inbuf->length))) { + return(ENOMEM); + } + if ((len2 = krb5_net_read(context, fd, buf, ilen)) != ilen) { + free(buf); + return((len2 < 0) ? errno : ECONNABORTED); + } + } + inbuf->data = buf; + return(0); } |