From a9cb96f146377ff59a34a40792a9d8537ec89755 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Sat, 12 Sep 2020 12:08:15 +0200 Subject: [PATCH] lvconvert: check if LV has cow type Cow may not be a COW type, the return value of origin_from_cow(cow) may be NULL. Reported-by: Wu Guanghao Reported-by: Zhiqiang Liu --- tools/lvconvert.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/lvconvert.c b/tools/lvconvert.c index d420eb52f..780a81567 100644 --- a/tools/lvconvert.c +++ b/tools/lvconvert.c @@ -1825,6 +1825,11 @@ static int _lvconvert_splitsnapshot(struct cmd_context *cmd, struct logical_volu struct volume_group *vg = cow->vg; const char *cow_name = display_lvname(cow); + if (!lv_is_cow(cow)) { + log_error(INTERNAL_ERROR "Volume %s is not a COW.", cow_name); + return 0; + } + if (lv_is_virtual_origin(origin_from_cow(cow))) { log_error("Unable to split off snapshot %s with virtual origin.", cow_name); return 0;