--- ./util.c 2011-04-23 00:51:55.000000000 +0200 +++ ./util.c 2013-05-10 11:34:07.802800154 +0200 @@ -26,6 +26,7 @@ extern int verbose; extern int module_id; extern int modify_window; +extern int protect_args; extern int relative_paths; extern int preserve_times; extern int human_readable; @@ -708,8 +709,9 @@ /* This routine is only used in daemon mode. */ void glob_expand_module(char *base1, char *arg, char ***argv_p, int *argc_p, int *maxargs_p) -{ - char *p, *s; +{ + char *p = NULL; + char *s; char *base = base1; int base_len = strlen(base); @@ -727,7 +729,7 @@ base_len++; for (s = arg; *s; s = p + base_len) { - if ((p = strstr(s, base)) != NULL) + if ( !protect_args && (p = strstr(s, base)) != NULL ) *p = '\0'; /* split it at this point */ glob_expand(s, argv_p, argc_p, maxargs_p); if (!p)