glibc/nss
Florian Weimer a6033052d0 nss_db: Propagate ERANGE error if parse_line fails [BZ #19837]
Reproducer (needs to run as root):

perl -e \
  'print "large999:" . join(",", map {"user$_"} (1 .. 135))."\n"' \
  >> /etc/group
cd /var/db
make
getent -s db group

After the fix, the last command should list the "large" group.

The magic number 135 has been chosen so that the line is shorter than
1024 bytes, but the pointers required to encode the member array will
cross the threshold, triggering the bug.
2016-03-29 11:27:32 +02:00
..
nss_db nss_db: Propagate ERANGE error if parse_line fails [BZ #19837] 2016-03-29 11:27:32 +02:00
nss_files
alias-lookup.c
bug17079.c
bug-erange.c
databases.def
db-Makefile
Depend
digits_dots.c
ethers-lookup.c
function.def
getent.c
getnssent_r.c
getnssent.c
getXXbyYY_r.c
getXXbyYY.c
getXXent_r.c
getXXent.c
grp-lookup.c
hosts-lookup.c
key-lookup.c
makedb.c
Makefile
netgrp-lookup.c
network-lookup.c
nss_test1.c
nss.h
nsswitch.c
nsswitch.conf
nsswitch.h
proto-lookup.c
pwd-lookup.c
rewrite_field.c
rpc-lookup.c
service-lookup.c
sgrp-lookup.c
spwd-lookup.c
test-digits-dots.c
test-netdb.c
tst-field.c
tst-nss-getpwent.c
tst-nss-static.c
tst-nss-test1.c
valid_field.c
valid_list_field.c
Versions
XXX-lookup.c