| From 2958695c4cdc785de6ed708709af071a2d20afef Mon Sep 17 00:00:00 2001 |
| From: Daniel Axtens <dja@axtens.net> |
| Date: Thu, 21 Jan 2021 18:54:29 +1100 |
| Subject: [PATCH] disk/lvm: Bail on missing PV list |
| |
| There's an if block for the presence of "physical_volumes {", but if |
| that block is absent, then p remains NULL and a NULL-deref will result |
| when looking for logical volumes. |
| |
| It doesn't seem like LVM makes sense without physical volumes, so error |
| out rather than crashing. |
| |
| Signed-off-by: Daniel Axtens <dja@axtens.net> |
| Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com> |
| Signed-off-by: Stefan SΓΈrensen <stefan.sorensen@spectralink.com> |
| --- |
| grub-core/disk/lvm.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c |
| index 36da575..8e560f3 100644 |
| --- a/grub-core/disk/lvm.c |
| +++ b/grub-core/disk/lvm.c |
| @@ -370,6 +370,8 @@ grub_lvm_detect (grub_disk_t disk, |
| goto fail4; |
| } |
| } |
| + else |
| + goto fail4; |
| |
| p = grub_strstr (p, "logical_volumes {"); |
| if (p) |
| -- |
| 2.14.2 |
| |