Simon Matter wrote: >> Hi, >> >>>>>>> On Sun, 28 Oct 2007 19:42:02 +0100 >>>>>>> Tomas Janousek <tjanouse@xxxxxxxxxx> said: >> tjanouse> Looks correct. (will not terminate if it reaches NGROUPS, don't >> know if that >> tjanouse> can happen though) >> >> Oops, it never happen. >> It is intended to be safe-keeping for avoiding endless-loop. >> >> tjanouse> But as I said earlier, it's probably better to use the old code >> on non-glibc >> tjanouse> systems. >> >> I'm not sure which one is better. > > The implementation in 2.3.10 also segfaults on Linux systems unpatched > glibc-2.3.2. From the getgrouplist manpage: > > BUGS > The glibc 2.3.2 implementation of this function is broken: it > overwrites memory when the actual number of groups is larger than > *ngroups. > > Regards, > Simon That's friggin' great! We can't exactly force people to have a particular version of glibc just to run Cyrus 2.3.10. Either we need to come up with something that will run on all systems, or I'll be inclined to remove the getgrouplist() code. -- Kenneth Murchison Systems Programmer Project Cyrus Developer/Maintainer Carnegie Mellon University ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html