Signed-off-by: Glenn Washburn <developm...@efficientek.com> --- grub-core/disk/luks2.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c index 751b48d6a..b628043e0 100644 --- a/grub-core/disk/luks2.c +++ b/grub-core/disk/luks2.c @@ -622,6 +622,17 @@ luks2_recover_key (grub_disk_t source, grub_dprintf ("luks2", "Trying keyslot %"PRIuGRUB_UINT64_T"\n", keyslot.slot_key); + /* Sector size should be one of 512, 1024, 2048, or 4096. */ + if (!(segment.sector_size == 512 || segment.sector_size == 1024 || + segment.sector_size == 2048 || segment.sector_size == 4096)) + { + grub_dprintf ("luks2", "Segment \"%"PRIuGRUB_UINT64_T"\" sector" + " size %"PRIuGRUB_UINT64_T" is not one of" + " 512, 1024, 2048, or 4096.", + segment.slot_key, segment.sector_size); + continue; + } + /* Set up disk according to keyslot's segment. */ crypt->offset_sectors = grub_divmod64 (segment.offset, segment.sector_size, NULL); crypt->log_sector_size = grub_log2ull (segment.sector_size); -- 2.27.0 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel