Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1
acl
null-pointer-access.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File null-pointer-access.diff of Package acl
From: Andreas Gruenbacher <agruen@suse.de> Subject: Fix NULL pointer access / segmentation fault When invoked as ``setfacl -- ...'', setfacl segfaults. Reported by Jiri Moskovcak <jmoskovc@redhat.com> and Peng Haitao <penght@cn.fujitsu.com>. This fix is based on their proposed patch. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Cc: Jiri Moskovcak <jmoskovc@redhat.com> Cc: Peng Haitao <penght@cn.fujitsu.com> Index: acl-2.2.45/setfacl/setfacl.c =================================================================== --- acl-2.2.45.orig/setfacl/setfacl.c +++ acl-2.2.45/setfacl/setfacl.c @@ -301,7 +301,7 @@ int main(int argc, char *argv[]) int which; int lineno; int error; - seq_t seq = NULL; + seq_t seq; int seq_cmd, parse_mode; progname = basename(argv[0]); @@ -326,6 +326,10 @@ int main(int argc, char *argv[]) bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); + seq = seq_init(); + if (!seq) + ERRNO_ERROR(1); + while ((opt = getopt_long(argc, argv, cmd_line_options, long_options, NULL)) != -1) { /* we remember the two REMOVE_ACL commands of the set @@ -334,15 +338,12 @@ int main(int argc, char *argv[]) cmd_t seq_remove_acl_cmd = NULL; if (opt != '\1' && saw_files) { - if (seq) { + if (seq) seq_free(seq); - seq = NULL; - } - saw_files = 0; - } - if (seq == NULL) { - if (!(seq = seq_init())) + seq = seq_init(); + if (!seq) ERRNO_ERROR(1); + saw_files = 0; } switch (opt) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor