When an empty directory readable by the user was passed to this
function, the error was not set appropriately, this patch fixes this
problem.
Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
while ((node = fts_read(tree))) {
int dirfd, metafd;
+ int closeret;
if (!(node->fts_info & FTS_D))
continue;
}
metafd = openat(dirfd, "metadata", O_RDONLY);
if (metafd < 0) {
- ret = close(dirfd);
- if (ret < 0) {
+ closeret = close(dirfd);
+ if (closeret < 0) {
perror("close");
goto error;
}
+ ret = -1;
+ continue;
} else {
int trace_id;