[PATCH 1/2] qemuCheckpointDiscardBitmaps: Refuse to delete checkpoint with NULL bitmap name

Peter Krempa pkrempa at redhat.com
Mon Mar 22 14:30:45 UTC 2021


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 <pkrempa at redhat.com>
---
 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,
-- 
2.29.2




More information about the libvir-list mailing list