Marcus Meissner
5439477a49
- Update to git snapshot dated 21 Sep 2015. - Added: * 0001-Install-the-libraries-to-the-appropriate-directory.patch * 0002-setfacl.1-fix-typo-inclu-de-include.patch * 0003-test-fix-insufficient-quoting-of.patch * 0004-Makefile-rename-configure.in-to-configure.ac.patch * 0005-Bad-markup-in-acl.5-page.patch * 0006-.gitignore-ignore-and-config.h.in.patch * 0007-Use-autoreconf-rather-than-autoconf-to-regenerate-th.patch * 0008-libacl-Make-sure-that-acl_from_text-always-sets-errn.patch * 0009-libacl-fix-SIGSEGV-of-getfacl-e-on-overly-long-group.patch * 0010-punt-debian-rpm-packaging-logic.patch * 0011-move-gettext-logic-into-misc.h.patch * 0012-test-make-running-parallel-out-of-tree-safe.patch * 0013-modernize-build-system.patch * 0014-po-regenerate-files-after-move.patch * 0015-build-drop-aclincludedir-use-pkgincludedir.patch * 0016-build-make-use-of-an-aux-dir-to-stow-away-helper-scr.patch * 0017-build-ship-a-pkgconfig-file-for-libacl.patch * 0018-read_acl_-comments-seq-rename-line-to-lineno.patch * 0019-read_acl_-comments-seq-switch-to-next_line.patch * 0020-telldir-return-value-and-seekdir-second-parameters-a.patch * 0021-mark-libmisc-funcs-as-hidden-so-they-are-not-exporte.patch * 0022-add-__acl_-prefixes-to-internal-symbols.patch * 0023-cp.test-Check-permissions-of-the-right-file.patch * 0024-libacl-acl_set_file-Remove-unnecesary-racy-check.patch * 0025-fix-compilation-with-latest-xattr-git.patch * 0026-getfacl-Fix-memory-leak.patch * 0027-Fix-the-display-block-nesting-in-acl.5.patch * 0028-setfacl-man-page-Minor-wording-improvements.patch OBS-URL: https://build.opensuse.org/request/show/347209 OBS-URL: https://build.opensuse.org/package/show/Base:System/acl?expand=0&rev=43
51 lines
1.2 KiB
Diff
51 lines
1.2 KiB
Diff
From 3f079d4e0512c9a241fb23c56a0421441c83621e Mon Sep 17 00:00:00 2001
|
|
From: Andreas Gruenbacher <agruen@linbit.com>
|
|
Date: Wed, 23 Oct 2013 19:40:57 +0200
|
|
Subject: [PATCH 08/34] libacl: Make sure that acl_from_text() always sets
|
|
errno when it fails
|
|
|
|
The getpwnam() and getgrnam() functions may or may not set errno when
|
|
they fail. If they don't, set it to EINVAL so that errno is always set
|
|
when acl_from_text() fails.
|
|
---
|
|
libacl/acl_from_text.c | 6 ++++++
|
|
1 file changed, 6 insertions(+)
|
|
|
|
diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c
|
|
index 1e05322..c08bd3b 100644
|
|
--- a/libacl/acl_from_text.c
|
|
+++ b/libacl/acl_from_text.c
|
|
@@ -152,11 +152,14 @@ get_uid(const char *token, uid_t *uid_p)
|
|
|
|
if (get_id(token, uid_p) == 0)
|
|
return 0;
|
|
+ errno = 0;
|
|
passwd = getpwnam(token);
|
|
if (passwd) {
|
|
*uid_p = passwd->pw_uid;
|
|
return 0;
|
|
}
|
|
+ if (errno == 0)
|
|
+ errno = EINVAL;
|
|
return -1;
|
|
}
|
|
|
|
@@ -168,11 +171,14 @@ get_gid(const char *token, gid_t *gid_p)
|
|
|
|
if (get_id(token, (uid_t *)gid_p) == 0)
|
|
return 0;
|
|
+ errno = 0;
|
|
group = getgrnam(token);
|
|
if (group) {
|
|
*gid_p = group->gr_gid;
|
|
return 0;
|
|
}
|
|
+ if (errno == 0)
|
|
+ errno = EINVAL;
|
|
return -1;
|
|
}
|
|
|
|
--
|
|
2.5.2
|
|
|