[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Tue Aug 9 00:41:56 UTC 2022


The branch, master has been updated
       via  d659610a Handle a trailing "/." at the end of a source arg.
       via  6cafc1f8 Update the NEWS.
      from  788f11ea Fix zlib bug with a large gzip header extra field

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit d659610afc8a3ee53fe68a8a4bbd7fc768fcd6e9
Author: Wayne Davison <wayne at opencoder.net>
Date:   Mon Aug 8 17:36:36 2022 -0700

    Handle a trailing "/." at the end of a source arg.

commit 6cafc1f8bf879e3274c106decfdccbd5b5f39470
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sun Aug 7 09:59:43 2022 -0700

    Update the NEWS.

-----------------------------------------------------------------------

Summary of changes:
 NEWS.md   | 5 ++++-
 exclude.c | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS.md b/NEWS.md
index 70c0b00f..0c212da9 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -13,12 +13,15 @@
   directory that contains files that aren't from the remote host unless you
   trust the remote host). Fixes CVE-2022-29154.
 
+ - A fix for CVE-2022-37434 in the bundled zlib (buffer overflow issue).
+
 ### BUG FIXES:
 
 - Fixed the configure check for signed char that was causing a host that
   defaults to unsigned characters to generate bogus rolling checksums. This
   made rsync send mostly literal data for a copy instead of finding matching
-  data in the receiver's basis file.
+  data in the receiver's basis file (for a file that contains high-bit
+  characters).
 
 - Lots of manpage improvements, including an attempt to better describe how
   include/exclude filters work.
diff --git a/exclude.c b/exclude.c
index e5991009..ca10b094 100644
--- a/exclude.c
+++ b/exclude.c
@@ -316,8 +316,11 @@ void add_implied_include(const char *arg)
 	if (relative_paths) {
 		if ((cp = strstr(arg, "/./")) != NULL)
 			arg = cp + 3;
-	} else if ((cp = strrchr(arg, '/')) != NULL)
+	} else if ((cp = strrchr(arg, '/')) != NULL) {
 		arg = cp + 1;
+		if (*arg == '.' && arg[1] == '\0')
+		    arg++;
+	}
 	arg_len = strlen(arg);
 	if (arg_len) {
 		if (strpbrk(arg, "*[?")) {


-- 
The rsync repository.



More information about the rsync-cvs mailing list