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

(#576550)
This commit is contained in:
Kamil Dudka 2010-03-24 16:51:27 +00:00
parent 95420551e8
commit d4fb3d28d2
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 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

View File

@ -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 <kdudka@redhat.com> 2.2.49-5
- prevent setfacl --restore from SIGSEGV on malformed restore file (#576550)
* Tue Jan 19 2010 Kamil Dudka <kdudka@redhat.com> 2.2.49-4
- do not package a static library (#556036)
- remove multilib patch no longer useful