about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-12-02 21:32:48 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-12-02 21:32:48 +0000
commit266865c0e7b79d4196e2cc393693463f03c90bd8 (patch)
treeaccef236a3f6874245cd0ce67ea3c47489d56409
parent84e5e75640afe10758ea647e4704e9f66dc82df4 (diff)
downloadglibc-266865c0e7b79d4196e2cc393693463f03c90bd8.tar.gz
glibc-266865c0e7b79d4196e2cc393693463f03c90bd8.tar.xz
glibc-266865c0e7b79d4196e2cc393693463f03c90bd8.zip
Remove excess declarations from unistd.h for XPG3/XPG4 (bug 17665).
For XPG3/XPG4 (defined __USE_XOPEN && !defined __USE_UNIX98), unistd.h
declares many functions that should only be declared for __USE_MISC
(none of them are in XPG3/XPG4): sethostname sethostid getdomainname
setdomainname vhangup revoke profil acct getusershell endusershell
setusershell daemon.  The whole block with the [__USE_MISC ||
(__USE_XOPEN && !__USE_UNIX98)] conditional contains only functions
that are not in XPG3/XPG4, so this patch simply changes the
conditional.

Tested for x86_64 (testsuite, and that installed stripped shared
libraries are unchanged by this patch).

	[BZ #17665]
	* posix/unistd.h [__USE_MISC || (__USE_XOPEN && !__USE_UNIX98)]:
	Change conditional to [__USE_MISC].
-rw-r--r--ChangeLog4
-rw-r--r--NEWS2
-rw-r--r--posix/unistd.h4
3 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index f532ed6b1a..3b764c00b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2014-12-02  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #17665]
+	* posix/unistd.h [__USE_MISC || (__USE_XOPEN && !__USE_UNIX98)]:
+	Change conditional to [__USE_MISC].
+
 	[BZ #17664]
 	* misc/mntent_r.c (__getmntent_r): Use __fgets_unlocked instead of
 	fgets_unlocked.
diff --git a/NEWS b/NEWS
index fe5453cba2..1e2d2ae81d 100644
--- a/NEWS
+++ b/NEWS
@@ -13,7 +13,7 @@ Version 2.21
   16619, 16740, 16857, 17192, 17266, 17344, 17363, 17370, 17371, 17411,
   17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571,
   17572, 17573, 17574, 17581, 17582, 17583, 17584, 17585, 17589, 17594,
-  17608, 17616, 17625, 17633, 17664.
+  17608, 17616, 17625, 17633, 17664, 17665.
 
 * CVE-2104-7817 The wordexp function could ignore the WRDE_NOCMD flag
   under certain input conditions resulting in the execution of a shell for
diff --git a/posix/unistd.h b/posix/unistd.h
index ac81d92c1e..59b3139ed7 100644
--- a/posix/unistd.h
+++ b/posix/unistd.h
@@ -880,7 +880,7 @@ extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1));
 #endif
 
 
-#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98)
+#if defined __USE_MISC
 /* Set the name of the current host to NAME, which is LEN bytes long.
    This call is restricted to the super-user.  */
 extern int sethostname (const char *__name, size_t __len)
@@ -935,7 +935,7 @@ extern void setusershell (void) __THROW; /* Rewind and re-read the file.  */
    terminal.  If NOCHDIR is zero, do `chdir ("/")'.  If NOCLOSE is zero,
    redirects stdin, stdout, and stderr to /dev/null.  */
 extern int daemon (int __nochdir, int __noclose) __THROW __wur;
-#endif /* Use misc || X/Open.  */
+#endif /* Use misc.  */
 
 
 #if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)