nscd: avoid assertion failure during persistent db check
authorAndreas Schwab <schwab@suse.de>
Tue, 15 May 2018 12:42:37 +0000 (14:42 +0200)
committerAndreas Schwab <schwab@suse.de>
Wed, 19 Dec 2018 10:44:28 +0000 (11:44 +0100)
nscd should not abort when it finds inconsistencies in the persistent db.

ChangeLog
nscd/connections.c

index 2ea7440..89ad526 100644 (file)
--- 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'
index 47fbb99..9818200 100644 (file)
@@ -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))