$NetBSD: patch-ct,v 1.1 2006/09/14 16:52:54 joerg Exp $

--- lib/xtrans/Xtranslcl.c.orig	2005-11-08 07:33:26.000000000 +0100
+++ lib/xtrans/Xtranslcl.c
@@ -360,7 +360,10 @@ TRANS(PTSOpenClient)(XtransConnInfo cipt
 	uid_t       saved_euid;
 
 	saved_euid = geteuid();
-	setuid( getuid() ); /** sets the euid to the actual/real uid **/
+	/** sets the euid to the actual/real uid **/
+	if (setuid( getuid() ) == -1) {
+		exit(1);
+	}
 	if( chown( slave, saved_euid, -1 ) < 0 ) {
 		exit( 1 );
 		}
@@ -369,7 +372,13 @@ TRANS(PTSOpenClient)(XtransConnInfo cipt
     }
 
     waitpid(saved_pid, &exitval, 0);
-
+    if (WIFEXITED(exitval) && WEXITSTATUS(exitval) != 0) {
+	close(fd);
+	close(server);
+	PRMSG(1, "PTSOpenClient: cannot set the owner of %s\n",
+	      slave, 0, 0);
+	return(-1);
+    }
     if (chmod(slave, 0666) < 0) {
 	close(fd);
 	close(server);
