From: DJ Delorie Date: Mon, 25 Sep 2017 23:43:09 +0000 (-0400) Subject: nscd: Release read lock after resetting timeout. X-Git-Tag: glibc-2.27~866 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3de93d194a5d27cabfe40ddf58aea36939498ba4;p=thirdparty%2Fglibc.git nscd: Release read lock after resetting timeout. [BZ #22161] * nscd/netgroupcache.c (addinnetgrX): Release read lock after resetting timeout. Reviewed-by: Jonathan Nieder Reviewed-by: Andreas Schwab A lock is held by mempool_allocate() when CACHEABLE is true; we must release this lock if we exit early. --- diff --git a/ChangeLog b/ChangeLog index 86cd508e3c3..dddda153235 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-09-25 DJ Delorie + + [BZ #22161] + * nscd/netgroupcache.c (addinnetgrX): Release read lock after + resetting timeout. + 2017-09-25 Stefan Liebler * sysdeps/ieee754/dbl-64/sincos32.h diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c index cd0c3ea19b2..3ca96f82051 100644 --- a/nscd/netgroupcache.c +++ b/nscd/netgroupcache.c @@ -584,6 +584,8 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req, dh->timeout = timeout; dh->ttl = dataset->head.ttl; ++dh->nreloads; + if (cacheable) + pthread_rwlock_unlock (&db->lock); return timeout; }