From 550cb17d6186e3e3ed2daa1616ceab3da2d86b5d Mon Sep 17 00:00:00 2001 From: Julien Desfossez Date: Fri, 27 Apr 2012 16:02:58 -0400 Subject: [PATCH] Fix bt_context_add_traces_recursive error code 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 Signed-off-by: Mathieu Desnoyers --- converter/babeltrace.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/converter/babeltrace.c b/converter/babeltrace.c index c377935e..56772674 100644 --- a/converter/babeltrace.c +++ b/converter/babeltrace.c @@ -355,6 +355,7 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path, while ((node = fts_read(tree))) { int dirfd, metafd; + int closeret; if (!(node->fts_info & FTS_D)) continue; @@ -368,11 +369,13 @@ int bt_context_add_traces_recursive(struct bt_context *ctx, const char *path, } 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; -- 2.34.1