diff --git a/lib/hdb/db.c b/lib/hdb/db.c index 393f3de25..885433549 100644 --- a/lib/hdb/db.c +++ b/lib/hdb/db.c @@ -127,6 +127,7 @@ DB_seq(krb5_context context, HDB *db, hdb_entry *entry, int flag) data.data = key.data; data.length = key.size; + entry->principal = malloc(sizeof(*entry->principal)); hdb_key2principal(context, &data, &entry->principal); data.data = value.data; data.length = value.size; diff --git a/lib/hdb/ndbm.c b/lib/hdb/ndbm.c index f6b859159..22994eefc 100644 --- a/lib/hdb/ndbm.c +++ b/lib/hdb/ndbm.c @@ -131,7 +131,8 @@ NDBM_seq(krb5_context context, HDB *db, hdb_entry *entry, int first) return KRB5_HDB_NOENTRY; data.data = key.dptr; data.length = key.dsize; - hdb_key2principal(context, &data, &entry->principal); + entry->principal = malloc(sizeof(*entry->principal)); + hdb_key2principal(context, &data, entry->principal); value = dbm_fetch(d, key); /* krb5_data_free(&data); */ data.data = value.dptr;