From 69a91bec14ec3ad49d1c8a82c40a796755f9e4a3 Mon Sep 17 00:00:00 2001 From: nectar Date: Tue, 19 Feb 2002 15:46:56 +0000 Subject: Import of Heimdal Kerberos from KTH repository circa 2002/02/17. --- crypto/heimdal/lib/krb5/get_in_tkt.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'crypto/heimdal/lib/krb5/get_in_tkt.c') diff --git a/crypto/heimdal/lib/krb5/get_in_tkt.c b/crypto/heimdal/lib/krb5/get_in_tkt.c index bb023b1..aa72bbc 100644 --- a/crypto/heimdal/lib/krb5/get_in_tkt.c +++ b/crypto/heimdal/lib/krb5/get_in_tkt.c @@ -33,12 +33,12 @@ #include "krb5_locl.h" -RCSID("$Id: get_in_tkt.c,v 1.100 2001/05/14 06:14:48 assar Exp $"); +RCSID("$Id: get_in_tkt.c,v 1.103 2002/01/06 23:10:06 assar Exp $"); krb5_error_code krb5_init_etype (krb5_context context, unsigned *len, - int **val, + krb5_enctype **val, const krb5_enctype *etypes) { int i; @@ -58,7 +58,7 @@ krb5_init_etype (krb5_context context, for (i = 0; tmp[i]; ++i) ; *len = i; - *val = malloc(i * sizeof(int)); + *val = malloc(i * sizeof(**val)); if (i != 0 && *val == NULL) { ret = ENOMEM; krb5_set_error_string(context, "malloc: out of memory"); @@ -370,14 +370,14 @@ add_padata(krb5_context context, krb5_principal client, krb5_key_proc key_proc, krb5_const_pointer keyseed, - int *enctypes, + krb5_enctype *enctypes, unsigned netypes, krb5_salt *salt) { krb5_error_code ret; PA_DATA *pa2; krb5_salt salt2; - int *ep; + krb5_enctype *ep; int i; if(salt == NULL) { @@ -386,7 +386,7 @@ add_padata(krb5_context context, salt = &salt2; } if (!enctypes) { - enctypes = (int *)context->etypes; /* XXX */ + enctypes = context->etypes; netypes = 0; for (ep = enctypes; *ep != ETYPE_NULL; ep++) netypes++; @@ -505,8 +505,13 @@ init_as_req (krb5_context context, if (addrs) ret = krb5_copy_addresses(context, addrs, a->req_body.addresses); - else + else { ret = krb5_get_all_client_addrs (context, a->req_body.addresses); + if(ret == 0 && a->req_body.addresses->len == 0) { + free(a->req_body.addresses); + a->req_body.addresses = NULL; + } + } if (ret) return ret; } @@ -726,6 +731,7 @@ krb5_get_in_cred(krb5_context context, done = 0; preauth = my_preauth; krb5_free_error_contents(context, &error); + krb5_clear_error_string(context); continue; } if(ret_as_reply) -- cgit v1.1