Fix segfault in hdb-mitdb when princ have salt
This commit is contained in:
@@ -128,10 +128,10 @@ mdb_principal2key(krb5_context context,
|
||||
#define KRB5_KDB_SALTTYPE_CERTHASH 6
|
||||
|
||||
static krb5_error_code
|
||||
fix_salt(krb5_context context, hdb_entry *ent, int key_num)
|
||||
fix_salt(krb5_context context, hdb_entry *ent, Key *k)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
Salt *salt = ent->keys.val[key_num].salt;
|
||||
Salt *salt = k->salt;
|
||||
/* fix salt type */
|
||||
switch((int)salt->type) {
|
||||
case KRB5_KDB_SALTTYPE_NORMAL:
|
||||
@@ -187,8 +187,8 @@ fix_salt(krb5_context context, hdb_entry *ent, int key_num)
|
||||
break;
|
||||
case KRB5_KDB_SALTTYPE_CERTHASH:
|
||||
krb5_data_free(&salt->salt);
|
||||
free(ent->keys.val[key_num].salt);
|
||||
ent->keys.val[key_num].salt = NULL;
|
||||
free(k->salt);
|
||||
k->salt = NULL;
|
||||
break;
|
||||
default:
|
||||
abort();
|
||||
@@ -263,7 +263,7 @@ mdb_keyvalue2key(krb5_context context, hdb_entry *entry, krb5_storage *sp, uint1
|
||||
k->salt->salt.length = u16;
|
||||
krb5_storage_read(sp, k->salt->salt.data, k->salt->salt.length);
|
||||
}
|
||||
fix_salt(context, entry, entry->keys.len - 1);
|
||||
fix_salt(context, entry, k);
|
||||
} else {
|
||||
/*
|
||||
* Whatever this "version" might be, we skip it
|
||||
|
Reference in New Issue
Block a user