Changed the rdev code to have both an "rdev" variable (which always
[rsync/rsync.git] / options.c
index 00a22fc..d01aea9 100644 (file)
--- a/options.c
+++ b/options.c
@@ -66,6 +66,7 @@ int read_only = 0;
 int module_id = -1;
 int am_server = 0;
 int am_sender = 0;
+int am_generator = 0;
 char *files_from = NULL;
 int filesfrom_fd = -1;
 char *remote_filesfrom_file = NULL;
@@ -685,8 +686,10 @@ int parse_arguments(int *argc, const char ***argv, int frommain)
                        }
                } else {
                        extern int sanitize_paths;
-                       if (sanitize_paths)
-                               sanitize_path(strdup(files_from), NULL);
+                       if (sanitize_paths) {
+                               files_from = strdup(files_from);
+                               sanitize_path(files_from, NULL);
+                       }
                        filesfrom_fd = open(files_from, O_RDONLY|O_BINARY);
                        if (filesfrom_fd < 0) {
                                rsyserr(FERROR, errno,