diff --git a/lib/luks2/luks2_reencrypt.c b/lib/luks2/luks2_reencrypt.c index 8010956a..658073ae 100644 --- a/lib/luks2/luks2_reencrypt.c +++ b/lib/luks2/luks2_reencrypt.c @@ -3859,7 +3859,8 @@ static int reencrypt_init_by_keyslot_context(struct crypt_device *cd, r = kc_new->get_key_size(cd, kc_new, &key_length); else { r = crypt_keyslot_get_key_size(cd, keyslot_new); - key_length = r; + if (r >= 0) + key_length = r; } if (r < 0) return r;