This is the mail archive of the cygwin@cygwin.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] |
Other format: | [Raw text] |
Christopher Faylor wrote:
No comment on this stuff. It's not the problem I am seeing.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:Have you experienced an overrun? I see code in cygwin to set errno to ERANGE if the buffer is too small.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.
Aha! There's the bug. AFAICT, the size calculation is wrong. It isn't taking the size of all of the elements into consideration.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |