svn commit: r240529 - stable/9/lib/libc/stdlib

Ed Maste emaste at FreeBSD.org
Sat Sep 15 02:58:03 UTC 2012


Author: emaste
Date: Sat Sep 15 02:58:02 2012
New Revision: 240529
URL: http://svn.freebsd.org/changeset/base/240529

Log:
  MFC r240412:
  
    According to a clarification at http://austingroupbugs.net/view.php?id=503
    ptsname may set errno, so avoid saving and restoring errno across the
    function.
  
  PR: standards/171572

Modified:
  stable/9/lib/libc/stdlib/ptsname.3
  stable/9/lib/libc/stdlib/ptsname.c
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/stdlib/ptsname.3
==============================================================================
--- stable/9/lib/libc/stdlib/ptsname.3	Sat Sep 15 02:52:19 2012	(r240528)
+++ stable/9/lib/libc/stdlib/ptsname.3	Sat Sep 15 02:58:02 2012	(r240529)
@@ -102,7 +102,8 @@ of the slave device on success; otherwis
 pointer is returned.
 .Sh ERRORS
 The
-.Fn grantpt
+.Fn grantpt ,
+.Fn ptsname
 and
 .Fn unlockpt
 functions may fail and set

Modified: stable/9/lib/libc/stdlib/ptsname.c
==============================================================================
--- stable/9/lib/libc/stdlib/ptsname.c	Sat Sep 15 02:52:19 2012	(r240528)
+++ stable/9/lib/libc/stdlib/ptsname.c	Sat Sep 15 02:58:02 2012	(r240529)
@@ -77,7 +77,6 @@ ptsname(int fildes)
 {
 	static char pt_slave[sizeof _PATH_DEV + SPECNAMELEN] = _PATH_DEV;
 	char *ret = NULL;
-	int sverrno = errno;
 
 	/* Make sure fildes points to a master device. */
 	if (__isptmaster(fildes) != 0)
@@ -87,7 +86,6 @@ ptsname(int fildes)
 	    sizeof pt_slave - (sizeof _PATH_DEV - 1)) != NULL)
 		ret = pt_slave;
 
-done:	/* Make sure ptsname() does not overwrite errno. */
-	errno = sverrno;
+done:
 	return (ret);
 }


More information about the svn-src-all mailing list