From 4107ec555744dd302439d9ca9eea090c9b6b435c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Wed, 19 Oct 2005 13:51:40 +0000 Subject: [PATCH] Catch error returned by ->hdb_unlock. From Henry B. Hotz git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@16186 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/hdb/hdb.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/hdb/hdb.c b/lib/hdb/hdb.c index b2304c56f..3c27718af 100644 --- a/lib/hdb/hdb.c +++ b/lib/hdb/hdb.c @@ -170,7 +170,7 @@ hdb_check_db_format(krb5_context context, HDB *db) { krb5_data tag; krb5_data version; - krb5_error_code ret; + krb5_error_code ret, ret2; unsigned ver; int foo; @@ -181,9 +181,11 @@ hdb_check_db_format(krb5_context context, HDB *db) tag.data = HDB_DB_FORMAT_ENTRY; tag.length = strlen(tag.data); ret = (*db->hdb__get)(context, db, tag, &version); - db->hdb_unlock(context, db); + ret2 = db->hdb_unlock(context, db); if(ret) return ret; + if (ret2) + return ret2; foo = sscanf(version.data, "%u", &ver); krb5_data_free (&version); if (foo != 1) @@ -196,7 +198,7 @@ hdb_check_db_format(krb5_context context, HDB *db) krb5_error_code hdb_init_db(krb5_context context, HDB *db) { - krb5_error_code ret; + krb5_error_code ret, ret2; krb5_data tag; krb5_data version; char ver[32]; @@ -215,10 +217,10 @@ hdb_init_db(krb5_context context, HDB *db) version.data = ver; version.length = strlen(version.data) + 1; /* zero terminated */ ret = (*db->hdb__put)(context, db, 0, tag, version); - ret = db->hdb_unlock(context, db); + ret2 = db->hdb_unlock(context, db); if (ret) return ret; - return ret; + return ret2; } #ifdef HAVE_DLOPEN