about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-06-11 12:12:56 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-06-11 12:12:56 +0200
commit31d0a4fa646db8b8c97ce24e0ec0a7b73de4fca1 (patch)
tree205fe71bd6bb121d6425ede7adcc27da05447fe5 /ChangeLog
parent073f82140c7dbd7af387153c29ac7ac3e882c4ef (diff)
downloadglibc-31d0a4fa646db8b8c97ce24e0ec0a7b73de4fca1.tar.gz
glibc-31d0a4fa646db8b8c97ce24e0ec0a7b73de4fca1.tar.xz
glibc-31d0a4fa646db8b8c97ce24e0ec0a7b73de4fca1.zip
nss_db: Fix initialization of iteration position [BZ #20237]
When get*ent is called without a preceding set*ent, we need
to set the initial iteration position in get*ent.

Reproducer: Add “services: db files” to /etc/nsswitch.conf, then run
“perl -e getservent”.  It will segfault before this change, and exit
silently after it.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2989d21940..32bef3340e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2016-06-11  Florian Weimer  <fweimer@redhat.com>
 
+	[BZ #20237]
+	* nss/nss_db/db-XXX.c (set*ent): Reset entidx to NULL.
+	(get*ent): Set entidx to NULL during initialization.  If entidx is
+	NULL, start iteration from the beginning.
+
+2016-06-11  Florian Weimer  <fweimer@redhat.com>
+
 	* malloc/malloc.c (musable): Return correct size for dumped fake
 	mmapped chunk.