Fwd: Re: Bus Error with OpenSSH 3.7.1p2 on Solaris 8, SPARC 64-bit, YASSP

Thomas Baden lindysandiego at yahoo.com
Wed Oct 8 09:58:12 EST 2003


The following patch appears to fix the BUS error
received on Solaris 8.  This problem manifests as an
immediate disconnect with no apparent cause
immediately after authentication with the host.

--- Darren Tucker <dtucker at zip.com.au> wrote:
> Date: Tue, 30 Sep 2003 09:35:26 +1000
> From: Darren Tucker <dtucker at zip.com.au>
> Subject: Re: Bus Error with OpenSSH 3.7.1p2 on
> Solaris 8, SPARC 64-bit, YASSP
> To: Thomas Baden <lindysandiego at yahoo.com>
> 
> Thomas Baden wrote:
> 
> > I can do Solaris 8, 64-bit testing.
> > 
> > I don't think that that will fix it, as you are
> > casting mask to its own type.
> 
> Yeah, it didn't look right even when I wrote it.
> 
> > I think that a fix
> > along the lines of what Matthias send makes the
> most
> > sense, as you're asking sscanf to return a long
> value.
> 
> Could you please test this patch?  It's similar to
> your hand-done patch.
> 
> -- 
> Darren Tucker (dtucker at zip.com.au)
> GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4  37C9
> C982 80C7 8FF4 FA69
>     Good judgement comes with experience.
> Unfortunately, the experience
> usually comes from bad judgement.
> > Index: session.c
>
===================================================================
> RCS file:
>
/usr/local/src/security/openssh/cvs/openssh_cvs/session.c,v
> retrieving revision 1.255
> diff -u -p -r1.255 session.c
> --- session.c	22 Sep 2003 11:04:23 -0000	1.255
> +++ session.c	29 Sep 2003 23:34:10 -0000
> @@ -915,7 +915,7 @@ read_etc_default_login(char
> ***env, u_in
>  {
>  	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,
> @@ -936,7 +936,7 @@ read_etc_default_login(char
> ***env, u_in
>  	
>  	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]);
> 


__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com




More information about the openssh-unix-dev mailing list