diff options
Diffstat (limited to 'source4/heimdal/lib/hdb')
-rw-r--r-- | source4/heimdal/lib/hdb/keys.c | 7 | ||||
-rw-r--r-- | source4/heimdal/lib/hdb/keytab.c | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/source4/heimdal/lib/hdb/keys.c b/source4/heimdal/lib/hdb/keys.c index c5a2efd758..0ca3846f9d 100644 --- a/source4/heimdal/lib/hdb/keys.c +++ b/source4/heimdal/lib/hdb/keys.c @@ -33,7 +33,7 @@ #include "hdb_locl.h" -RCSID("$Id: keys.c,v 1.3 2005/03/17 00:42:05 lha Exp $"); +RCSID("$Id: keys.c,v 1.4 2006/04/02 00:45:48 lha Exp $"); /* * free all the memory used by (len, keys) @@ -298,6 +298,7 @@ hdb_generate_key_set(krb5_context context, krb5_principal principal, &enctypes, &num_enctypes, &salt, principal); if (ret) { krb5_warnx(context, "bad value for default_keys `%s'", *kp); + ret = 0; continue; } @@ -334,6 +335,8 @@ hdb_generate_key_set(krb5_context context, krb5_principal principal, krb5_free_salt(context, salt); } + *ret_key_set = key_set; + out: if (ret) { krb5_warn(context, ret, @@ -348,8 +351,6 @@ hdb_generate_key_set(krb5_context context, krb5_principal principal, ret = EINVAL; /* XXX */ } - *ret_key_set = key_set; - return ret; } diff --git a/source4/heimdal/lib/hdb/keytab.c b/source4/heimdal/lib/hdb/keytab.c index 6fb37842dc..12979eaecf 100644 --- a/source4/heimdal/lib/hdb/keytab.c +++ b/source4/heimdal/lib/hdb/keytab.c @@ -35,7 +35,7 @@ /* keytab backend for HDB databases */ -RCSID("$Id: keytab.c,v 1.8 2005/12/12 12:35:36 lha Exp $"); +RCSID("$Id: keytab.c,v 1.10 2006/04/02 20:20:45 lha Exp $"); struct hdb_data { char *dbname; @@ -76,7 +76,7 @@ hdb_resolve(krb5_context context, const char *name, krb5_keytab id) if((mkey - db) == 0) { d->dbname = NULL; } else { - d->dbname = malloc(mkey - db); + d->dbname = malloc(mkey - db + 1); if(d->dbname == NULL) { free(d); krb5_set_error_string(context, "malloc: out of memory"); |