diff --git a/acl-2.2.49-setfacl-restore.patch b/acl-2.2.49-setfacl-restore.patch new file mode 100644 index 0000000..8490091 --- /dev/null +++ b/acl-2.2.49-setfacl-restore.patch @@ -0,0 +1,27 @@ +diff --git a/setfacl/setfacl.c b/setfacl/setfacl.c +index 7142af0..23784a7 100644 +--- a/setfacl/setfacl.c ++++ b/setfacl/setfacl.c +@@ -125,7 +125,7 @@ restore( + uid_t uid; + gid_t gid; + mode_t mask, flags; +- struct do_set_args args; ++ struct do_set_args args = { 0 }; + int line = 0, backup_line; + int error, status = 0; + int chmod_required = 0; +diff --git a/test/misc.test b/test/misc.test +index e6140da..a910bd0 100644 +--- a/test/misc.test ++++ b/test/misc.test +@@ -424,3 +424,9 @@ Now, chmod should change the group_obj entry + > + + $ rmdir d ++ ++Malformed restore file ++ ++ $ echo "# owner: root" > f ++ $ setfacl --restore=f 2>&1 ++ >setfacl: f: No filename found in line 0, aborting diff --git a/acl.spec b/acl.spec index 418984a..b5f9c6c 100644 --- a/acl.spec +++ b/acl.spec @@ -1,7 +1,7 @@ Summary: Access control list utilities Name: acl Version: 2.2.49 -Release: 4%{?dist} +Release: 5%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gawk BuildRequires: gettext @@ -11,6 +11,7 @@ Source: http://download.savannah.gnu.org/releases-noredirect/acl/acl-%{version}. Patch1: acl-2.2.39-build.patch Patch2: acl-2.2.49-setfacl-walk.patch Patch3: acl-2.2.49-bz467936.patch +Patch4: acl-2.2.49-setfacl-restore.patch License: GPLv2+ Group: System Environment/Base URL: http://oss.sgi.com/projects/xfs/ @@ -48,6 +49,7 @@ defined in POSIX 1003.1e draft standard 17. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build touch .census @@ -105,6 +107,9 @@ rm -rf $RPM_BUILD_ROOT /%{_lib}/libacl.so.* %changelog +* Wed Mar 24 2010 Kamil Dudka 2.2.49-5 +- prevent setfacl --restore from SIGSEGV on malformed restore file (#576550) + * Tue Jan 19 2010 Kamil Dudka 2.2.49-4 - do not package a static library (#556036) - remove multilib patch no longer useful