From 907b9ee6c4f3e0fbd33cfd095a0344a176070668 Mon Sep 17 00:00:00 2001 From: Ake Sandgren Date: Wed, 9 Jan 2019 11:08:58 +0100 Subject: [PATCH] Fix broken return from _krb5_erase_file on missing file. The return of lstat should be handled like the "open" if errno = ENOENT. --- lib/krb5/fcache.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/krb5/fcache.c b/lib/krb5/fcache.c index 7a3faae2c..e93c2f2e0 100644 --- a/lib/krb5/fcache.c +++ b/lib/krb5/fcache.c @@ -254,8 +254,12 @@ _krb5_erase_file(krb5_context context, const char *filename) int ret; ret = lstat (filename, &sb1); - if (ret < 0) - return errno; + if (ret < 0) { + if(errno == ENOENT) + return 0; + else + return errno; + } fd = open(filename, O_RDWR | O_BINARY | O_CLOEXEC | O_NOFOLLOW); if(fd < 0) {