Package: rsyncrypto Version: 1.13-1 Severity: serious Tags: patch upstream Justification: crash on basic functionality
Dear maintainer, I have recently been exposed to rsyncrypto through a client of my work's, and have encountered a crash when using rsyncrypto to refresh an encrypted directory tree with --delete enabled. This happens because of an infinite recursion in autofd::unlink(): https://sources.debian.org/src/rsyncrypto/1.13-1/autofd.h/#L217 static int unlink(const char *pathname) { bool success=unlink( pathname )==0; [...] } I came up with the following patch which simply calls unlink() in the top scope. This seems to fix the problem for me: --- rsyncrypto-1.14.orig/autofd.h +++ rsyncrypto-1.14/autofd.h @@ -216,7 +216,7 @@ public: // unless it failed with ENOENT - the file already doesn't exist static int unlink(const char *pathname) { - bool success=unlink( pathname )==0; + bool success=::unlink( pathname )==0; if( !success && errno!=ENOENT ) throw rscerror("Erasing file", errno, pathname ); This affects 1.13-1 and 1.14-1 in Debian in the same way. Please let me know if you would like any further information. Best regards, Chris -- System Information: Debian Release: buster/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'testing'), (100, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.13.0-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages rsyncrypto depends on: ii gzip 1.6-5+b1 pn libargtable2-0 <none> ii libc6 2.25-3 ii libgcc1 1:7.2.0-17 ii libssl1.1 1.1.0g-2 ii libstdc++6 7.2.0-17 Versions of packages rsyncrypto recommends: ii rsync 3.1.2-2 rsyncrypto suggests no packages.