From patchwork Tue Dec 18 13:44:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: nscd: avoid assertion failure during persistent db check X-Patchwork-Submitter: Andreas Schwab X-Patchwork-Id: 13563 Message-Id: To: libc-alpha@sourceware.org Date: Tue, 18 Dec 2018 14:44:44 +0100 From: Andreas Schwab List-Id: nscd should not abort when it finds inconsistencies in the persistent db. * nscd/connections.c (check_use): Don't abort on invalid len. --- nscd/connections.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.20.0 -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." diff --git a/nscd/connections.c b/nscd/connections.c index 47fbb9923a..9818200764 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))