This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: snapshot 05/05: ssh segmentation fault within screen


On May  6 11:09, Shaddy Baddah wrote:
> Hi,
> 
> I've just dropped snapshot 2014-05-05 into my 64bit Cygwin install.
> 
> I am getting a segmentation fault running ssh from within a screen
> session. Regardless of the arguments passed:
> 
> $ ssh -V
> OpenSSH_6.6.1p1, OpenSSL 1.0.1g 7 Apr 2014
> 
> $ screen
> <cleared screen>
> Screen version 4.01.00devel (GNU) 2-May-06
> ...
>                                             [Press Space or Return to end.]
> <cleared screen>
> $ ssh -V
> Segmentation fault (core dumped)

This is by far the worst message I got in the last couple of weeks :(

The problem here is that I thought it would be a good idea to cache
passwd and group data in the cygheap, which is a Cygwin DLL specific
heap containing datastructures propagated to child processes via fork
and execve.

The problem, which I totally not realized since I started implementing
this stuff is, that by propagating this cache to child processes, said
child processes suffer from what the parent process does to the passwd
structures in the cache.

Screen seems to call getpwuid and then sets some of the pointers in the
passwd structure it got from the call to NULL, apparently for some sort
of security, this way overwriting the cached passwd struct for the
current user.  Ssh on the other hand tries to copy the passwd structure,
but it never checks for NULL pointers because, well, the passwd
structure never contains NULL pointers.

This annihilates every advantage the cygheap caching has.

*sob*

Oh well, back to the drawing board.  This will take some time, though.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgpLXaqx7Puii.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]