summaryrefslogtreecommitdiff
path: root/exclude.c
diff options
context:
space:
mode:
authorWayne Davison <wayne@opencoder.net>2022-08-09 17:33:45 -0700
committerWayne Davison <wayne@opencoder.net>2022-08-09 17:55:03 -0700
commit8550142804430afcf46f84fcd0c6dfe0a9db1d76 (patch)
tree3f1da401d48b881e761bea4024d9c4233c645b38 /exclude.c
parent97f40754babb503140e1516b759c501ea8fb22b4 (diff)
downloadrsync-8550142804430afcf46f84fcd0c6dfe0a9db1d76.tar.gz
Be a little paranoid.
Diffstat (limited to 'exclude.c')
-rw-r--r--exclude.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/exclude.c b/exclude.c
index da25661b..ea1aa495 100644
--- a/exclude.c
+++ b/exclude.c
@@ -364,6 +364,7 @@ void free_implied_include_partial_string()
free(partial_string_buf);
partial_string_buf = NULL;
}
+ partial_string_len = 0; /* paranoia */
}
/* Each arg the client sends to the remote sender turns into an implied include
@@ -379,8 +380,10 @@ void add_implied_include(const char *arg, int skip_daemon_module)
return;
if (partial_string_len) {
arg_len = strlen(arg);
- if (partial_string_len + arg_len >= MAXPATHLEN)
+ if (partial_string_len + arg_len >= MAXPATHLEN) {
+ partial_string_len = 0;
return; /* Should be impossible... */
+ }
memcpy(partial_string_buf + partial_string_len, arg, arg_len + 1);
partial_string_len = 0;
arg = partial_string_buf;