From 2df0d422901e92b9f8109112e763b17a8c6bb27d Mon Sep 17 00:00:00 2001 From: ColemanTom <15375218+ColemanTom@users.noreply.github.com> Date: Thu, 22 Oct 2026 13:37:32 +1100 Subject: [PATCH] Ensure error code is kept if destination dir is not writable Signed-off-by: ColemanTom <15375218+ColemanTom@users.noreply.github.com> --- src/dsync/dsync.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dsync/dsync.c b/src/dsync/dsync.c index 2b4276f4..8de1e2d6 100644 --- a/src/dsync/dsync.c +++ b/src/dsync/dsync.c @@ -3354,13 +3354,15 @@ int main(int argc, char **argv) /* check that destination parent is writable */ if(mfu_file_access(dest_parent_str, W_OK, mfu_dst_file) < 0) { + int saved_errno = errno; mfu_loglevel log_level = MFU_LOG_ERR; if (options.dry_run) log_level = MFU_LOG_WARN; MFU_LOG(log_level, "Destination parent directory is not writable `%s' (errno=%d %s)", - dest_parent_str, errno, strerror(errno)); + dest_parent_str, saved_errno, strerror(saved_errno)); if (!options.dry_run) { mfu_free(&dest_parent_str); + rc = saved_errno; goto ERROR; } }