diff --git a/src/stat_cache.c b/src/stat_cache.c index 8729d7bc..61f1cb1f 100644 --- a/src/stat_cache.c +++ b/src/stat_cache.c @@ -1101,7 +1101,9 @@ int stat_cache_open_rdonly_fstat (const buffer *name, struct stat *st, int symli if (0 == fstat(fd, st)) { return fd; } else { + const int errnum = errno; close(fd); + errno = errnum; } } return -1;