This is the mail archive of the cygwin@sources.redhat.com 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]

Re: [PORTS] Re: Problem Building Cygwin PostgreSQL


Looks like this is fixed in current sources.

> Earnie,
> 
> On Fri, Sep 22, 2000 at 11:01:25AM -0700, Earnie Boyd wrote:
> > Hmm...  This appears that it would potentially cause a memory leak.  What
> > happens if instead of this patch you initialize the pointer to NULL?
> 
> I guess that I should have giving more context:
> 
>     void
>     usage(void)
>     {
>         ...
>         user = getenv("USER");
>         if (!user)
>         {
>     #ifndef WIN32
>             pw = getpwuid(geteuid());
>             if (pw)
>                 user = pw->pw_name;
>             ...
>     #else
>             user = "?";
>     #endif
>         }
>         ...
>     #if !defined(WIN32) && !defined(__CYGWIN__)
>         if (pw)
>             free(pw);
>     #endif
>     }
> 
> The relevant Cygwin source (i.e., src/winsup/cygwin/passwd.cc) and the
> getpwuid() man page (from Solaris):
> 
>     The  functions  getpwnam(),  getpwuid(),   getpwent(),   and
>     fgetpwent() use *static* storage that is re-used in each call,
>     making these routines unsafe for use in multithreaded appli-
>     cations.
> 
> seemed to indicate that free-ing the return value from getpwuid() was a
> bad idea.  Can someone confirm or refute this supposition?
> 
> Thanks,
> Jason
> 
> -- 
> Jason Tishler
> Director, Software Engineering       Phone: +1 (732) 264-8770 x235
> Dot Hill Systems Corporation         Fax:   +1 (732) 264-8798
> 82 Bethany Road, Suite 7             Email: Jason.Tishler@dothill.com
> Hazlet, NJ 07730 USA                 WWW:   http://www.dothill.com
> 


-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


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