From 3a340872f8792f35094f0ae6df10163a9ba99f12 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 22 Mar 2021 14:43:17 +0100 Subject: [PATCH] qemuCheckpointDiscardBitmaps: Refuse to delete checkpoint with NULL bitmap name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a checkpoint is redefined without providing the domain XML, we might end up with a definition where the per-disk bitmap name is not set. Trying to delete such checkpoint would lead to a crash. Refuse such deletion. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1941600 Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_checkpoint.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/qemu/qemu_checkpoint.c b/src/qemu/qemu_checkpoint.c index 689a556959..d2a621a52b 100644 --- a/src/qemu/qemu_checkpoint.c +++ b/src/qemu/qemu_checkpoint.c @@ -206,6 +206,13 @@ qemuCheckpointDiscardBitmaps(virDomainObjPtr vm, if (chkdisk->type != VIR_DOMAIN_CHECKPOINT_TYPE_BITMAP) continue; + if (!chkdisk->bitmap) { + virReportError(VIR_ERR_INVALID_ARG, + _("missing bitmap name for disk '%s' of checkpoint '%s'"), + chkdisk->name, chkdef->parent.name); + return -1; + } + if (qemuCheckpointDiscardDiskBitmaps(domdisk->src, blockNamedNodeData, chkdisk->bitmap, actions, domdisk->dst,