]> git.ipfire.org Git - thirdparty/rsync.git/commitdiff
Be a little paranoid.
authorWayne Davison <wayne@opencoder.net>
Wed, 10 Aug 2022 00:33:45 +0000 (17:33 -0700)
committerWayne Davison <wayne@opencoder.net>
Wed, 10 Aug 2022 00:55:03 +0000 (17:55 -0700)
exclude.c

index da25661bc719615f4fe4a6ff872a5b5774fe0c72..ea1aa495baa963df41e34d9443a8042b577da92c 100644 (file)
--- 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;