--- programs/xdm/session.c.orig	Fri Sep 28 23:31:30 2001
+++ programs/xdm/session.c	Fri Sep 28 23:33:03 2001
@@ -525,6 +525,7 @@
     int	pid;
 #ifdef HAS_SETUSERCONTEXT
     struct passwd* pwd;
+    extern char **environ;
 #endif
 
     if (verify->argv) {
@@ -602,6 +603,8 @@
 	 * Set the user's credentials: uid, gid, groups,
 	 * environment variables, resource limits, and umask.
 	 */
+        /* destroy user environment before calling setusercontext */
+	environ = verify->userEnviron;
 	pwd = getpwnam(name);
 	if (pwd)
 	{
@@ -611,6 +614,7 @@
 			 errno);
 		return(0);
 	    }
+            verify->userEnviron = environ;    
 	    endpwent();
 	}
 	else