From 3a8615c2ade90ab4d9c56b469aeeeb6cd647de4a Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Thu, 28 Aug 1997 01:26:09 +0000 Subject: [PATCH] (DB_seq): check for valid hdb_entries git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3214 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/hdb/db.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/hdb/db.c b/lib/hdb/db.c index cf16c7892..c3006fa81 100644 --- a/lib/hdb/db.c +++ b/lib/hdb/db.c @@ -167,7 +167,8 @@ DB_seq(krb5_context context, HDB *db, hdb_entry *entry, int flag) key_data.length = key.size; data.data = value.data; data.length = value.size; - hdb_value2entry(context, &data, entry); + if (hdb_value2entry(context, &data, entry)) + return DB_seq(context, db, entry, R_NEXT); if (entry->principal == NULL) { entry->principal = malloc(sizeof(*entry->principal)); hdb_key2principal(context, &key_data, entry->principal); @@ -227,9 +228,7 @@ DB__get(krb5_context context, HDB *db, krb5_data key, krb5_data *reply) if(code == 1) return HDB_ERR_NOENTRY; - reply->length = v.size; - reply->data = malloc(reply->length); - memcpy(reply->data, v.data, reply->length); + krb5_data_copy(reply, v.size, v.data); return 0; }