From 164cb66addee693700c70fed63d996872fcc3edb Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Sat, 31 May 2008 14:51:38 -0700 Subject: [PATCH] Fixed the destination path check so that it cannot exclude a dot dir. --- main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index 5fba5e68..6881c8e6 100644 --- a/main.c +++ b/main.c @@ -509,12 +509,13 @@ static char *get_local_name(struct file_list *flist, char *dest_path) if (daemon_filter_list.head) { char *slash = strrchr(dest_path, '/'); - if (slash && slash[1] == '\0') + if (slash && (slash[1] == '\0' || (slash[1] == '.' && slash[2] == '\0'))) *slash = '\0'; else slash = NULL; - if (check_filter(&daemon_filter_list, FLOG, dest_path, 0) < 0 - || check_filter(&daemon_filter_list, FLOG, dest_path, 1) < 0) { + if ((*dest_path != '.' || dest_path[1] != '\0') + && (check_filter(&daemon_filter_list, FLOG, dest_path, 0) < 0 + || check_filter(&daemon_filter_list, FLOG, dest_path, 1) < 0)) { rprintf(FERROR, "skipping daemon-excluded destination \"%s\"\n", dest_path); exit_cleanup(RERR_FILESELECT); -- 2.34.1