- (dtucker) [session.c] Fix bus errors on some 64-bit Solaris configurations.
   Based on patches by Matthias Koeppe and Thomas Baden.  ok djm@
diff --git a/session.c b/session.c
index 647be40..ccdc424 100644
--- a/session.c
+++ b/session.c
@@ -906,7 +906,7 @@
 {
 	char **tmpenv = NULL, *var;
 	u_int i, tmpenvsize = 0;
-	mode_t mask;
+	u_long mask;
 
 	/*
 	 * We don't want to copy the whole file to the child's environment,
@@ -927,7 +927,7 @@
 	
 	if ((var = child_get_env(tmpenv, "UMASK")) != NULL)
 		if (sscanf(var, "%5lo", &mask) == 1)
-			umask(mask);
+			umask((mode_t)mask);
 	
 	for (i = 0; tmpenv[i] != NULL; i++)
 		xfree(tmpenv[i]);