diff --git a/rsync-3.0.6-iconv-logging.patch b/rsync-3.0.6-iconv-logging.patch new file mode 100644 index 0000000..bf7d943 --- /dev/null +++ b/rsync-3.0.6-iconv-logging.patch @@ -0,0 +1,22 @@ +diff --git a/log.c b/log.c +index 34a013b..1aca728 100644 +--- a/log.c ++++ b/log.c +@@ -377,10 +377,13 @@ output_msg: + filtered_fwrite(f, convbuf, outbuf.len, 0); + outbuf.len = 0; + } +- if (!ierrno || ierrno == E2BIG) +- continue; +- fprintf(f, "\\#%03o", CVAL(inbuf.buf, inbuf.pos++)); +- inbuf.len--; ++ /* Log one byte of illegal/incomplete sequence and continue with ++ * the next character. Check that the buffer is non-empty for the ++ * sake of robustness. */ ++ if ((ierrno == EILSEQ || ierrno == EINVAL) && inbuf.len) { ++ fprintf(f, "\\#%03o", CVAL(inbuf.buf, inbuf.pos++)); ++ inbuf.len--; ++ } + } + } else + #endif diff --git a/rsync.spec b/rsync.spec index eb720a3..6d24bd2 100644 --- a/rsync.spec +++ b/rsync.spec @@ -9,7 +9,7 @@ Summary: A program for synchronizing files over a network Name: rsync Version: 3.1.3 -Release: 6%{?dist} +Release: 7%{?dist} URL: http://rsync.samba.org/ Source0: https://download.samba.org/pub/rsync/src/rsync-%{version}%{?prerelease}.tar.gz @@ -29,6 +29,7 @@ License: GPLv3+ Patch0: rsync-man.patch Patch1: rsync-noatime.patch +Patch2: rsync-3.0.6-iconv-logging.patch %description Rsync uses a reliable algorithm to bring remote and host files into @@ -70,6 +71,7 @@ patch -p1 -i patches/copy-devices.diff %patch0 -p1 -b .man %patch1 -p1 -b .noatime +%patch2 -p1 -b .iconv %build @@ -114,6 +116,9 @@ install -D -m644 %{SOURCE6} $RPM_BUILD_ROOT/%{_unitdir}/rsyncd@.service %systemd_postun_with_restart rsyncd.service %changelog +* Tue Mar 19 2019 Michal Ruprich - 3.1.3-7 +- Resolves: #1683737 - [abrt] rsync: utf8_internal_loop(): rsync killed by SIGSEGV + * Sat Feb 02 2019 Fedora Release Engineering - 3.1.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild