From: Wayne Davison Date: Wed, 10 Aug 2022 00:33:45 +0000 (-0700) Subject: Be a little paranoid. X-Git-Tag: v3.2.5~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8550142804430afcf46f84fcd0c6dfe0a9db1d76;p=thirdparty%2Frsync.git Be a little paranoid. --- 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;