This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
[glibc/release/2.28/master] nscd: avoid assertion failure during persistent db check
- From: Florian Weimer <fw at sourceware dot org>
- To: glibc-cvs at sourceware dot org
- Date: 30 Oct 2019 12:59:38 -0000
- Subject: [glibc/release/2.28/master] nscd: avoid assertion failure during persistent db check
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a645c48756f04d757c69740be0eaa6ffb5f47e3b
commit a645c48756f04d757c69740be0eaa6ffb5f47e3b
Author: Andreas Schwab <schwab@suse.de>
Date: Tue May 15 14:42:37 2018 +0200
nscd: avoid assertion failure during persistent db check
nscd should not abort when it finds inconsistencies in the persistent db.
(cherry picked from commit 61595e3d36ded374f97961503e843a314b0203c2)
Diff:
---
ChangeLog | 4 ++++
nscd/connections.c | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 8c5c162..f855dbd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-12-19 Andreas Schwab <schwab@suse.de>
+
+ * nscd/connections.c (check_use): Don't abort on invalid len.
+
2019-05-17 Wilco Dijkstra <wdijkstr@arm.com>
* malloc/malloc.c (MAX_TCACHE_COUNT): Increase to UINT16_MAX.
diff --git a/nscd/connections.c b/nscd/connections.c
index 47fbb99..9818200 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -304,7 +304,8 @@ static int
check_use (const char *data, nscd_ssize_t first_free, uint8_t *usemap,
enum usekey use, ref_t start, size_t len)
{
- assert (len >= 2);
+ if (len < 2)
+ return 0;
if (start > first_free || start + len > first_free
|| (start & BLOCK_ALIGN_M1))