Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Sep 2012 02:58:02 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r240529 - stable/9/lib/libc/stdlib
Message-ID:  <201209150258.q8F2w2VT064592@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209150258.q8F2w2VT064592>