Fixed the destination path check so that it cannot exclude a

dot dir.
This commit is contained in:
Wayne Davison
2008-05-31 14:51:38 -07:00
parent 0d9eba0312
commit 164cb66add

7
main.c
View File

@@ -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);