Reorganizing internal_getlogin()

Corinna Vinschen
Mon Jun 10 02:14:00 GMT 2002

On Sun, Jun 09, 2002 at 11:52:28PM -0400, Chris Faylor wrote:
> On Sun, Jun 09, 2002 at 11:12:53PM -0400, Pierre A. Humblet wrote:
> >2002-06-09  Pierre Humblet <>
> >
> >	* (addWinDefEnv): New.
> >	(inWinDefEnv): New.
> >	(writeWinDefEnv): New.
> >	* (spawn_guts): Call functions above to set
> >	traditional Windows environment variables when copying the
> >	environment to the cygheap, before CreateProcessAsUser().
> >	Define sec_attribs and call sec_user_nih() only once.
> >	* environ.h: Declare inWinDefEnv() and addWinDefEnv(), and 
> >	define WINDEFENVC.
> I don't know about the sexec question.  Anyone know if there are (or
> were) any actual applications out there which use sexecve?  Isn't this
> just a cygwin invention?  I wonder if we should just nuke it from cygwin
> and see if anyone complains.  It would certainly simplify

AFAICS, there should only be old applications left using sexec,
perhaps the original port from Sergey, years ago.  I'm
even not sure if it still works with current Cygwin.  login(1)
was originally ported by using sexec but neither login(1) nor
any other application in the distro are using any sexecXX call.
I'd guess it's existance is in limbo.  We *would* obviously 
break backward compatibility by removing that functionality
but it's a backward compatibility to applications build at least
two years ago.

> Other minor nits: You made at least one gratuitous formatting change
> (moving a '&&' to a previous line) and your choice of function names is
> not really in tune with most of the other cygwin function names.  The
> function names should at least be consistent with the other function
> names in the file.  These are both extremely minor issues, of course.

However, they are valid.  What also concernes me is the
implementation of inWinDefEnv.  It checks the 5th character
in the input string w/o knowing the string length.  This
could result in access violation (what happens if a string
in the environment is e.g. "A="?


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                      
Red Hat, Inc.

More information about the Cygwin-patches mailing list