From 0fbcc1648d656d72d3babee5e2fa048011fed83b Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Sep 17 2021 17:42:54 +0000 Subject: import fuse-sshfs-2.8-7.el8 --- diff --git a/SOURCES/sshfs-fix-premature-free.patch b/SOURCES/sshfs-fix-premature-free.patch new file mode 100644 index 0000000..36b1eb5 --- /dev/null +++ b/SOURCES/sshfs-fix-premature-free.patch @@ -0,0 +1,34 @@ +diff -ur sshfs-2.8.old/ChangeLog sshfs-2.8/ChangeLog +--- sshfs-2.8.old/ChangeLog 2016-06-22 19:38:01.000000000 +0100 ++++ sshfs-2.8/ChangeLog 2021-09-07 08:17:35.352080786 +0100 +@@ -1,3 +1,9 @@ ++ Unreleased Changes ++ ------------------ ++ +++* Fixed a crash due to a race condition when listing +++ directory contents. ++ + Release 2.7 (2016-06-22) + ------------------------ + +diff -ur sshfs-2.8.old/sshfs.c sshfs-2.8/sshfs.c +--- sshfs-2.8.old/sshfs.c 2016-06-08 16:42:12.000000000 +0100 ++++ sshfs-2.8/sshfs.c 2021-09-07 08:17:06.339682726 +0100 +@@ -2173,11 +2173,16 @@ + outstanding--; + + if (done) { ++ /* We need to cache want_reply, since processing ++ thread may free req right after unlock() if ++ want_reply == 0 */ ++ int want_reply; + pthread_mutex_lock(&sshfs.lock); + if (sshfs_req_pending(req)) + req->want_reply = 0; ++ want_reply = req->want_reply; + pthread_mutex_unlock(&sshfs.lock); +- if (!req->want_reply) ++ if (!want_reply) + continue; + } + diff --git a/SPECS/fuse-sshfs.spec b/SPECS/fuse-sshfs.spec index 074a111..b059d5e 100644 --- a/SPECS/fuse-sshfs.spec +++ b/SPECS/fuse-sshfs.spec @@ -3,13 +3,19 @@ Name: fuse-sshfs Version: 2.8 -Release: 5%{?dist} +Release: 7%{?dist} Summary: FUSE-Filesystem to access remote filesystems via SSH Group: System Environment/Base License: GPLv2 URL: https://github.com/libfuse/sshfs Source0: https://github.com/libfuse/sshfs/releases/download/sshfs_%{version}/sshfs-%{version}.tar.gz Source1: https://github.com/libfuse/sshfs/releases/download/sshfs_%{version}/sshfs-%{version}.tar.gz.asc + +# Fix premature free() in sftp_readdir_async() +# https://bugzilla.redhat.com/show_bug.cgi?id=2000223 +# https://github.com/libfuse/sshfs/commit/cc5d6bbbc5b7e78296f5245988b9ba947076a1b8.patch +Patch1: sshfs-fix-premature-free.patch + Provides: sshfs = %{version}-%{release} Requires: fuse >= 2.2 Requires: openssh-clients @@ -26,7 +32,7 @@ mounting the filesystem is as easy as logging into the server with ssh. %prep -%setup -q -n sshfs-%{version} +%autosetup -p1 -n sshfs-%{version} %build @@ -46,6 +52,13 @@ make install DESTDIR=%{buildroot} %changelog +* Tue Sep 07 2021 Richard W.M. Jones - 2.8-7 +- Fix premature free() in sftp_readdir_async() + resolves: rhbz#2000223 + +* Thu Mar 21 2019 Richard W.M. Jones - 2.8-6 +- Add gating tests resolves: rhbz#1682788 + * Wed Feb 07 2018 Fedora Release Engineering - 2.8-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild