From 02d13d72579a04b3659c909388083c978da0358b Mon Sep 17 00:00:00 2001 From: lixiaokeng Date: Mon, 9 Nov 2020 09:34:51 +0800 Subject: [PATCH] lib: fix potential segfault in _keyslot_repair The value of vk may be NULL in _keyslot_repair. It will be dereferenced in LUKS_generate_phdr. Check it to avoid segfault. Signed-off-by: Lixiaokeng Signed-off-by: Linfeilong --- lib/luks1/keymanage.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/luks1/keymanage.c b/lib/luks1/keymanage.c index a08ff50f..b32da096 100644 --- a/lib/luks1/keymanage.c +++ b/lib/luks1/keymanage.c @@ -386,6 +386,8 @@ static int _keyslot_repair(struct luks_phdr *phdr, struct crypt_device *ctx) return -EINVAL; vk = crypt_alloc_volume_key(phdr->keyBytes, NULL); + if (!vk) + return -ENOMEM; log_verbose(ctx, _("Repairing keyslots."));