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
This commit is contained in:
		| @@ -170,7 +170,7 @@ hdb_check_db_format(krb5_context context, HDB *db) | |||||||
| { | { | ||||||
|     krb5_data tag; |     krb5_data tag; | ||||||
|     krb5_data version; |     krb5_data version; | ||||||
|     krb5_error_code ret; |     krb5_error_code ret, ret2; | ||||||
|     unsigned ver; |     unsigned ver; | ||||||
|     int foo; |     int foo; | ||||||
|  |  | ||||||
| @@ -181,9 +181,11 @@ hdb_check_db_format(krb5_context context, HDB *db) | |||||||
|     tag.data = HDB_DB_FORMAT_ENTRY; |     tag.data = HDB_DB_FORMAT_ENTRY; | ||||||
|     tag.length = strlen(tag.data); |     tag.length = strlen(tag.data); | ||||||
|     ret = (*db->hdb__get)(context, db, tag, &version); |     ret = (*db->hdb__get)(context, db, tag, &version); | ||||||
|     db->hdb_unlock(context, db); |     ret2 = db->hdb_unlock(context, db); | ||||||
|     if(ret) |     if(ret) | ||||||
| 	return ret; | 	return ret; | ||||||
|  |     if (ret2) | ||||||
|  | 	return ret2; | ||||||
|     foo = sscanf(version.data, "%u", &ver); |     foo = sscanf(version.data, "%u", &ver); | ||||||
|     krb5_data_free (&version); |     krb5_data_free (&version); | ||||||
|     if (foo != 1) |     if (foo != 1) | ||||||
| @@ -196,7 +198,7 @@ hdb_check_db_format(krb5_context context, HDB *db) | |||||||
| krb5_error_code | krb5_error_code | ||||||
| hdb_init_db(krb5_context context, HDB *db) | hdb_init_db(krb5_context context, HDB *db) | ||||||
| { | { | ||||||
|     krb5_error_code ret; |     krb5_error_code ret, ret2; | ||||||
|     krb5_data tag; |     krb5_data tag; | ||||||
|     krb5_data version; |     krb5_data version; | ||||||
|     char ver[32]; |     char ver[32]; | ||||||
| @@ -215,10 +217,10 @@ hdb_init_db(krb5_context context, HDB *db) | |||||||
|     version.data = ver; |     version.data = ver; | ||||||
|     version.length = strlen(version.data) + 1; /* zero terminated */ |     version.length = strlen(version.data) + 1; /* zero terminated */ | ||||||
|     ret = (*db->hdb__put)(context, db, 0, tag, version); |     ret = (*db->hdb__put)(context, db, 0, tag, version); | ||||||
|     ret = db->hdb_unlock(context, db); |     ret2 = db->hdb_unlock(context, db); | ||||||
|     if (ret) |     if (ret) | ||||||
| 	return ret; | 	return ret; | ||||||
|     return ret; |     return ret2; | ||||||
| } | } | ||||||
|  |  | ||||||
| #ifdef HAVE_DLOPEN | #ifdef HAVE_DLOPEN | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand