diff --git a/[refs] b/[refs] index fcdefe016601..5a2bb1515b8f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2876592f231d436c295b67726313f6f3cfb6e243 +refs/heads/master: 294f6cf48666825d23c9372ef37631232746e40d diff --git a/trunk/fs/partitions/ldm.c b/trunk/fs/partitions/ldm.c index 789c625c7aa5..b10e3540d5b7 100644 --- a/trunk/fs/partitions/ldm.c +++ b/trunk/fs/partitions/ldm.c @@ -251,6 +251,11 @@ static bool ldm_parse_vmdb (const u8 *data, struct vmdb *vm) } vm->vblk_size = get_unaligned_be32(data + 0x08); + if (vm->vblk_size == 0) { + ldm_error ("Illegal VBLK size"); + return false; + } + vm->vblk_offset = get_unaligned_be32(data + 0x0C); vm->last_vblk_seq = get_unaligned_be32(data + 0x04);