nscd: avoid assertion failure during persistent db check
Commit Message
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(-)
Comments
On 05/15/2018 03:24 PM, Andreas Schwab wrote:
> - assert (len >= 2);
> + if (len < 2)
> + return 0;
Shouldn't it log a warning at least? Something went very wrong, after all.
Does this need a bug?
Thanks,
Florian
On Mai 15 2018, Florian Weimer <fweimer@redhat.com> wrote:
> On 05/15/2018 03:24 PM, Andreas Schwab wrote:
>> - assert (len >= 2);
>> + if (len < 2)
>> + return 0;
>
> Shouldn't it log a warning at least?
The caller does.
Andreas.
On Mai 15 2018, Florian Weimer <fweimer@redhat.com> wrote:
> Does this need a bug?
Filed as 23184.
Andreas.
@@ -327,7 +327,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))