- Mark set*uid, set*gid as __wur (warn unused result) (#845960)
This commit is contained in:
parent
1f4b9e1d91
commit
954d1135ac
110
glibc-rh845960.patch
Normal file
110
glibc-rh845960.patch
Normal file
@ -0,0 +1,110 @@
|
||||
commit 7e66ee5142deda977163d0a858c3d2883cae3f07
|
||||
Author: Florian Weimer <fweimer@redhat.com>
|
||||
Date: Tue Jul 24 13:45:59 2012 +0200
|
||||
|
||||
* posix/unistd.h (setuid, setreuid, seteuid, setresuid):
|
||||
Declare with warn_unused_result.
|
||||
(setgid, setregid, setegid, setresgid): Likewise.
|
||||
* sysdeps/unix/sysv/linux/sys/fsuid.h (setfsuid, setfsgid):
|
||||
Likewise.
|
||||
* WUR-REPORT: Remove set*id functions.
|
||||
|
||||
diff --git a/WUR-REPORT b/WUR-REPORT
|
||||
index ef407cf..d997bd0 100644
|
||||
--- a/WUR-REPORT
|
||||
+++ b/WUR-REPORT
|
||||
@@ -4,17 +4,6 @@ lssek: Probably should be __wur but lseek(fd,SEEK_SET,0) will succeed if
|
||||
the descriptor is fine.
|
||||
lseek64: same
|
||||
|
||||
-setuid: will always succeed given correct privileges, so there might
|
||||
- be places which don't check for it.
|
||||
-setreuid: same
|
||||
-seteuid: same
|
||||
-setgid: same
|
||||
-setregid: same
|
||||
-setegid: same
|
||||
-setresuid: same
|
||||
-setresgid: same
|
||||
-
|
||||
-
|
||||
<stdio.h>:
|
||||
|
||||
setvbuf: if stream and buffer are fine and other parameters constant,
|
||||
diff --git a/posix/unistd.h b/posix/unistd.h
|
||||
index 9839761..88d711a 100644
|
||||
--- a/posix/unistd.h
|
||||
+++ b/posix/unistd.h
|
||||
@@ -719,34 +719,34 @@ extern int group_member (__gid_t __gid) __THROW;
|
||||
If the calling process is the super-user, set the real
|
||||
and effective user IDs, and the saved set-user-ID to UID;
|
||||
if not, the effective user ID is set to UID. */
|
||||
-extern int setuid (__uid_t __uid) __THROW;
|
||||
+extern int setuid (__uid_t __uid) __THROW __wur;
|
||||
|
||||
#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
|
||||
/* Set the real user ID of the calling process to RUID,
|
||||
and the effective user ID of the calling process to EUID. */
|
||||
-extern int setreuid (__uid_t __ruid, __uid_t __euid) __THROW;
|
||||
+extern int setreuid (__uid_t __ruid, __uid_t __euid) __THROW __wur;
|
||||
#endif
|
||||
|
||||
#if defined __USE_BSD || defined __USE_XOPEN2K
|
||||
/* Set the effective user ID of the calling process to UID. */
|
||||
-extern int seteuid (__uid_t __uid) __THROW;
|
||||
+extern int seteuid (__uid_t __uid) __THROW __wur;
|
||||
#endif /* Use BSD. */
|
||||
|
||||
/* Set the group ID of the calling process to GID.
|
||||
If the calling process is the super-user, set the real
|
||||
and effective group IDs, and the saved set-group-ID to GID;
|
||||
if not, the effective group ID is set to GID. */
|
||||
-extern int setgid (__gid_t __gid) __THROW;
|
||||
+extern int setgid (__gid_t __gid) __THROW __wur;
|
||||
|
||||
#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
|
||||
/* Set the real group ID of the calling process to RGID,
|
||||
and the effective group ID of the calling process to EGID. */
|
||||
-extern int setregid (__gid_t __rgid, __gid_t __egid) __THROW;
|
||||
+extern int setregid (__gid_t __rgid, __gid_t __egid) __THROW __wur;
|
||||
#endif
|
||||
|
||||
#if defined __USE_BSD || defined __USE_XOPEN2K
|
||||
/* Set the effective group ID of the calling process to GID. */
|
||||
-extern int setegid (__gid_t __gid) __THROW;
|
||||
+extern int setegid (__gid_t __gid) __THROW __wur;
|
||||
#endif /* Use BSD. */
|
||||
|
||||
#ifdef __USE_GNU
|
||||
@@ -763,12 +763,12 @@ extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
|
||||
/* Set the real user ID, effective user ID, and saved-set user ID,
|
||||
of the calling process to RUID, EUID, and SUID, respectively. */
|
||||
extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
|
||||
- __THROW;
|
||||
+ __THROW __wur;
|
||||
|
||||
/* Set the real group ID, effective group ID, and saved-set group ID,
|
||||
of the calling process to RGID, EGID, and SGID, respectively. */
|
||||
extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
|
||||
- __THROW;
|
||||
+ __THROW __wur;
|
||||
#endif
|
||||
|
||||
|
||||
diff --git a/sysdeps/unix/sysv/linux/sys/fsuid.h b/sysdeps/unix/sysv/linux/sys/fsuid.h
|
||||
index 2fd512e..4494baf 100644
|
||||
--- a/sysdeps/unix/sysv/linux/sys/fsuid.h
|
||||
+++ b/sysdeps/unix/sysv/linux/sys/fsuid.h
|
||||
@@ -25,10 +25,10 @@ __BEGIN_DECLS
|
||||
|
||||
/* Change uid used for file access control to UID, without affecting
|
||||
other privileges (such as who can send signals at the process). */
|
||||
-extern int setfsuid (__uid_t __uid) __THROW;
|
||||
+extern int setfsuid (__uid_t __uid) __THROW __wur;
|
||||
|
||||
/* Ditto for group id. */
|
||||
-extern int setfsgid (__gid_t __gid) __THROW;
|
||||
+extern int setfsgid (__gid_t __gid) __THROW __wur;
|
||||
|
||||
__END_DECLS
|
||||
|
@ -28,7 +28,7 @@
|
||||
Summary: The GNU libc libraries
|
||||
Name: glibc
|
||||
Version: %{glibcversion}
|
||||
Release: 54%{?dist}
|
||||
Release: 55%{?dist}
|
||||
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
|
||||
# Things that are linked directly into dynamically linked programs
|
||||
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
|
||||
@ -119,6 +119,7 @@ Patch1048: %{name}-rh804792.patch
|
||||
Patch1052: %{name}-sw13979.patch
|
||||
Patch1053: %{name}-rh817276.patch
|
||||
Patch1054: %{name}-rh808014.patch
|
||||
Patch1068: %{name}-rh845960.patch
|
||||
|
||||
#
|
||||
# Patches submitted, but not yet approved upstream.
|
||||
@ -501,6 +502,7 @@ popd
|
||||
%patch2065 -p1
|
||||
%patch0066 -p1
|
||||
%patch0067 -p1
|
||||
%patch1068 -p1
|
||||
|
||||
# A lot of programs still misuse memcpy when they have to use
|
||||
# memmove. The memcpy implementation below is not tolerant at
|
||||
@ -1367,9 +1369,10 @@ rm -f *.filelist*
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Aug 6 2012 Patsy Franklin <pfrankli@redhat.com> - 2.15.55
|
||||
* Mon Aug 6 2012 Jeff Law <law@redhat.com> - 2.15.55
|
||||
- Pack IPv4 servers at the start of nsaddr_list and
|
||||
only track the number of IPV4 servers in EXT(statp->nscounti (#808147)
|
||||
- Mark set*uid, set*gid as __wur (warn unused result) (#845960)
|
||||
|
||||
* Fri Aug 3 2012 Patsy Franklin <pfrankli@redhat.com> - 2.15.54
|
||||
- Remove two extraneous lines from previous patch for BZ841318 (#841318)
|
||||
|
Loading…
x
Reference in New Issue
Block a user