This is the mail archive of the libc-alpha@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] |
Hi, It looks like the hashtable size calculation in nssdb is buggy, since it returns a hashtable of size 1 when a database has just one entry. This is easy to reproduce with the following: * Have exactly one user associated with another group, i.e. exactly one line of the type: mail:x:12:postfix * Ensure that db is queried first for groups: cat /etc/nsswitch.conf: ... passwd: files shadow: files group: db files ... * Make the nssdb: cd /var/db && make * Start nscd -d and watch it crash The crash is inside nssdb and hence with the above configuration, programs throughout the system will eventually start crashing (sshd, systemd/init, etc.). Attached patch ensures that makedb sets the hashtable size to a prime greater than 3, which is sufficient for the way the hashtable is populated. I've verified that this fixes the crash on an F18 test system (2.16.x). OK to check-in? Siddhesh ChangeLog: * nss/makedb.c (is_prime): Ensure that CANDIDATE is greater than 3.
Attachment:
glibc-test.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |