diff options
Diffstat (limited to 'crypto/kerberosIV/lib/krb/rd_req.c')
-rw-r--r-- | crypto/kerberosIV/lib/krb/rd_req.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/crypto/kerberosIV/lib/krb/rd_req.c b/crypto/kerberosIV/lib/krb/rd_req.c index 91b27a5..4dca78e 100644 --- a/crypto/kerberosIV/lib/krb/rd_req.c +++ b/crypto/kerberosIV/lib/krb/rd_req.c @@ -33,7 +33,7 @@ #include "krb_locl.h" -RCSID("$Id: rd_req.c,v 1.27.2.1 1999/12/06 22:04:36 assar Exp $"); +RCSID("$Id: rd_req.c,v 1.27.2.2 2000/06/23 04:00:20 assar Exp $"); static struct timeval t_local = { 0, 0 }; @@ -141,7 +141,7 @@ krb_rd_req(KTEXT authent, /* The received message */ char *instance, /* Service instance */ int32_t from_addr, /* Net address of originating host */ AUTH_DAT *ad, /* Structure to be filled in */ - char *fn) /* Filename to get keys from */ + char *a_fn) /* Filename to get keys from */ { static KTEXT_ST ticket; /* Temp storage for ticket */ static KTEXT tkt = &ticket; @@ -169,6 +169,8 @@ krb_rd_req(KTEXT authent, /* The received message */ int type; int little_endian; + const char *fn = a_fn; + unsigned char *p; if (authent->length <= 0) @@ -262,7 +264,10 @@ krb_rd_req(KTEXT authent, /* The received message */ /* cast req_id->length to int? */ #define check_ptr() if ((ptr - (char *) req_id->dat) > req_id->length) return(RD_AP_MODIFIED); - p += krb_get_nir(p, r_aname, r_inst, r_realm); /* XXX no rangecheck */ + p += krb_get_nir(p, + r_aname, sizeof(r_aname), + r_inst, sizeof(r_inst), + r_realm, sizeof(r_realm)); p += krb_get_int(p, &ad->checksum, 4, little_endian); |