diff --git a/lib/krb5/dcache.c b/lib/krb5/dcache.c index af88aed91..6a4a226a6 100644 --- a/lib/krb5/dcache.c +++ b/lib/krb5/dcache.c @@ -273,19 +273,18 @@ verify_directory(krb5_context context, const char *path) return EINVAL; } + /* XXX should use mkdirx_np() */ + if (rk_mkdir(path, S_IRWXU) == 0) + return 0; + if (stat(path, &sb) != 0) { if (errno == ENOENT) { - /* XXX should use mkdirx_np() */ - if (rk_mkdir(path, S_IRWXU) == 0) - return 0; - krb5_set_error_message(context, ENOENT, N_("DIR directory %s doesn't exists", ""), path); return ENOENT; } else { - int ret = errno; - krb5_set_error_message(context, ret, - N_("DIR directory %s is bad: %s", ""), path, strerror(ret)); + krb5_set_error_message(context, errno, + N_("DIR directory %s is bad: %s", ""), path, strerror(errno)); return errno; } }