Mail Archives: cygwin/2003/01/01/12:34:46
On Wed, Jan 01, 2003 at 12:19:52PM -0500, Pierre A. Humblet wrote:
>> On Wed, Jan 01, 2003 at 10:05:10AM +0000, Steven O'Brien wrote:
>
>> >In glib-1.2.10, gutils.c: g_get_any_init (void), the current user
>> >details are obtained from /etc/passwd. This code is called as part of
>> >glib initialisation, whether the app wants this data or not. It uses
>> >sysconf (_SC_GETPW_R_SIZE_MAX) to decide how much buffer to allocate for
>> >this data. But on cygwin this appears broken, and the call to getpwuid_r
>> >(getuid (), &pwd, buffer, bufsize, &pw) *may* overrun buffer, depending
>> >on the length of the line in /etc/passwd for the current user.
>
>Have you experienced an overrun? I see code in cygwin to set errno to
>ERANGE if the buffer is too small.
Aha! There's the bug. AFAICT, the size calculation is wrong. It isn't
taking the size of all of the elements into consideration.
cgf
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -