From: Ben Kaduk Date: Wed, 18 Jul 2012 14:05:33 +0000 (-0400) Subject: Clean up stash file error handling X-Git-Tag: krb5-1.13-alpha1~328 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f7e434aa7ecb05a6ade5e3d4a435d25069acd5b2;p=thirdparty%2Fkrb5.git Clean up stash file error handling The comment previously failed to match the behavior. The intent was that if we failed to write out the entire stash file into the temporary location, we should remove the partial file. However, the code was actually checking whether the *real* stash file existed, not whether the temporary one existed. It is safe to always try to unlink the partial file, and not worry about whether it already exists. --- diff --git a/src/lib/kdb/kdb_default.c b/src/lib/kdb/kdb_default.c index 9a7f757f96..82fa5c4a07 100644 --- a/src/lib/kdb/kdb_default.c +++ b/src/lib/kdb/kdb_default.c @@ -212,9 +212,8 @@ krb5_def_store_mkey_list(krb5_context context, krb5_kt_close(context, kt); if (retval != 0) { - /* delete tmp keyfile if it exists and an error occurrs */ - if (stat(keyfile, &stb) >= 0) - (void) unlink(tmp_ktpath); + /* Clean up by deleting the tmp keyfile if it exists. */ + (void)unlink(tmp_ktpath); } else { /* rename original keyfile to original filename */ if (rename(tmp_ktpath, keyfile) < 0) {