nscd: avoid assertion failure during persistent db check

nscd should not abort when it finds inconsistencies in the persistent db.
This commit is contained in:
Andreas Schwab 2018-05-15 14:42:37 +02:00
parent bbb7dc8475
commit 61595e3d36
2 changed files with 6 additions and 1 deletions

View File

@ -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'

View 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))