This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc 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]

[Bug libc/1970] getgrnam_r() and groups with more than 1024 bytes


------- Additional Comments From kukuk at suse dot de  2005-12-09 07:11 -------
(In reply to comment #0)
> If I have a group with many entries (`/usr/bin/getent group test |wc -c
> ` > 1024), getgrnam() duely returns the entry whereas getgrnam_r() has some
> troubles.
> 
> a) sysconf(_SC_GETGR_R_SIZE_MAX);
> returns always 1024, which is not large enough, but as there is ENORANGE, it is
> not too bad.
> SUSv3: "_SC_GETGR_R_SIZE_MAX  Maximum size of getgrgid_r() and getgrnam_r() data
> buffers" and "The maximum size needed for this buffer [3rd argument of
> getgrnam_r] can be determined with the {_SC_GETGR_R_SIZE_MAX} sysconf()
parameter."
> 
> 
> b) Using  getgrnam_r() with a big group and a too small buffer =
> _SC_GETGR_R_SIZE_MAX == 1024:
> (i) group:  files  (in /etc/nsswitch.conf)
> returned value: ERANGE, which is ok
> (ii) group:  compat (in /etc/nsswitch.conf)
> getgrnam_r crashes with a memory access error.
> Expected: ERANGE or e.g. EIO.
> 
> c) Using  getgrnam_r() with a buffer bigger than 1024
> (i) entry < 1024: Ok
> (ii) entry > 1024 (independent of group:files vs. group:compat)
> Memory access error


As I told you already in Novell bugzilla: Your testprogram works fine and does
not crash for me:
_SC_GETGR_R_SIZE_MAX = 2048
mygetgrnam("testg", 1024) returned: ERANGE

DONE


So please explain exactly how to reproduce and deliver a backtrace.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kukuk at suse dot de


http://sourceware.org/bugzilla/show_bug.cgi?id=1970

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


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