aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2018-05-15 14:42:37 +0200
committerAndreas Schwab <schwab@suse.de>2018-12-19 11:44:28 +0100
commit61595e3d36ded374f97961503e843a314b0203c2 (patch)
tree6c391220d0411ab19fcac6d6e8914e2417a09258
parentbbb7dc8475b5c06b3e5d1dcf51a1ec6e045bfc6f (diff)
downloadglibc-61595e3d36ded374f97961503e843a314b0203c2.zip
glibc-61595e3d36ded374f97961503e843a314b0203c2.tar.gz
glibc-61595e3d36ded374f97961503e843a314b0203c2.tar.bz2
nscd: avoid assertion failure during persistent db check
nscd should not abort when it finds inconsistencies in the persistent db.
-rw-r--r--ChangeLog4
-rw-r--r--nscd/connections.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ea7440..89ad526 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.
+
2018-12-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Test against 64bit `cmd'
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))