From f6b390280abba1875627b2b060fce99d8aef83c8 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Mar 24 2010 16:47:34 +0000 Subject: - prevent setfacl --restore from SIGSEGV on malformed restore file (#576550) --- 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 56f60cf..43772df 100644 --- a/acl.spec +++ b/acl.spec @@ -1,7 +1,7 @@ Summary: Access control list utilities Name: acl Version: 2.2.49 -Release: 5%{?dist} +Release: 6%{?dist} BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gawk BuildRequires: gettext @@ -19,6 +19,9 @@ Patch3: acl-2.2.49-bz467936.patch # prepare the test-suite for SELinux and arbitrary umask Patch4: acl-2.2.49-tests.patch +# bz #576550 +Patch5: acl-2.2.49-setfacl-restore.patch + License: GPLv2+ Group: System Environment/Base URL: http://oss.sgi.com/projects/xfs/ @@ -57,11 +60,17 @@ defined in POSIX 1003.1e draft standard 17. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %build touch .census # acl abuses libexecdir %configure --libdir=/%{_lib} --libexecdir=%{_libdir} + +# uncomment to turn on optimizations +# sed -i 's/-O2/-O0/' libtool include/builddefs +# unset CFLAGS + make %{?_smp_mflags} LIBTOOL="libtool --tag=CC" %check @@ -125,6 +134,9 @@ rm -rf $RPM_BUILD_ROOT /%{_lib}/libacl.so.* %changelog +* Wed Mar 24 2010 Kamil Dudka 2.2.49-6 +- prevent setfacl --restore from SIGSEGV on malformed restore file (#576550) + * Wed Mar 10 2010 Kamil Dudka 2.2.49-5 - run the test-suite if possible