- prevent setfacl --restore from SIGSEGV on malformed restore file

(#576550)
This commit is contained in:
Kamil Dudka 2010-03-24 16:58:06 +00:00
parent 706b25668b
commit 8920fea074
2 changed files with 33 additions and 1 deletions

View File

@ -0,0 +1,27 @@
diff --git a/setfacl/setfacl.c b/setfacl/setfacl.c
index be34e69..db9976f 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;
diff --git a/test/misc.test b/test/misc.test
index 7c62c64..8c885a8 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

View File

@ -1,7 +1,7 @@
Summary: Access control list utilities
Name: acl
Version: 2.2.49
Release: 2%{?dist}
Release: 3%{?dist}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libattr-devel >= 2.4.1
BuildRequires: autoconf, libtool >= 1.5, gettext, gawk
@ -9,6 +9,7 @@ Source: http://download.savannah.gnu.org/releases-noredirect/acl/acl-%{version}.
Patch0: acl-2.2.3-multilib.patch
Patch1: acl-2.2.39-build.patch
Patch2: acl-2.2.49-setfacl-walk.patch
Patch3: acl-2.2.49-setfacl-restore.patch
License: GPLv2+
Group: System Environment/Base
URL: http://oss.sgi.com/projects/xfs/
@ -46,6 +47,7 @@ defined in POSIX 1003.1e draft standard 17.
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
autoconf
%build
@ -101,6 +103,9 @@ rm -rf $RPM_BUILD_ROOT
/%{_lib}/libacl.so.*
%changelog
* Wed Mar 24 2010 Kamil Dudka <kdudka@redhat.com> 2.2.49-3
- prevent setfacl --restore from SIGSEGV on malformed restore file (#576550)
* Sat Dec 26 2009 Kamil Dudka <kdudka@redhat.com> 2.2.49-2
- tweaked setfacl tree walk flags (#488674), thanks to Markus Steinborn