The code cleaning up virStorageSource doesn't free data allocated by
virStorageSourceInit() so we need to call virStorageSourceDeinit()
explicitly.

Fixes: 8e664737813378d2a1bdeacc2ca8e942327e2cab
Resolves: https://issues.redhat.com/browse/RHEL-33044
Signed-off-by: Pavel Hrdina <[email protected]>
---
 src/qemu/qemu_snapshot.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 09ec959f10..f5260c4a22 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -2260,6 +2260,8 @@ qemuSnapshotRevertExternalFinish(virDomainObj *vm,
                          snapdisk->src->path);
             }
 
+            virStorageSourceDeinit(snapdisk->src);
+
             virDomainSnapshotDiskDefClear(snapdisk);
         }
 
@@ -2277,6 +2279,8 @@ qemuSnapshotRevertExternalFinish(virDomainObj *vm,
                 VIR_WARN("Failed to remove snapshot image '%s'",
                          snapdisk->src->path);
             }
+
+            virStorageSourceDeinit(snapdisk->src);
         }
     }
 
-- 
2.45.1

Reply via email to