[PATCH 0/2] qemuSnapshotDiskContext(Cleanup|New): fix few bugs

Oops. Peter Krempa (2): qemuSnapshotDiskContextCleanup: Don't leak snapctxt qemuSnapshotDiskContextNew: Don't set 'ndd' src/qemu/qemu_snapshot.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.26.2

The container itself needs to be freed too. Fixes: 8c2ecdf131c Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_snapshot.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index 0a97d3643f..63401db2a9 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -883,6 +883,8 @@ qemuSnapshotDiskContextCleanup(qemuSnapshotDiskContextPtr snapctxt) virJSONValueFree(snapctxt->actions); qemuSnapshotDiskCleanup(snapctxt->dd, snapctxt->ndd, snapctxt->vm, snapctxt->asyncJob); + + g_free(snapctxt); } G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuSnapshotDiskContext, qemuSnapshotDiskContextCleanup); -- 2.26.2

'ndd' tracks the actual number of snapshot disks filled into the structure and is incremented by the functions filling the context, thus it must not be set when initializing the context. Fixes: 8c2ecdf131c Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_snapshot.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index 63401db2a9..ca051071aa 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -865,7 +865,6 @@ qemuSnapshotDiskContextNew(size_t ndisks, qemuSnapshotDiskContextPtr ret = g_new0(qemuSnapshotDiskContext, 1); ret->dd = g_new0(qemuSnapshotDiskData, ndisks); - ret->ndd = ndisks; ret->actions = virJSONValueNewArray(); ret->vm = vm; ret->asyncJob = asyncJob; -- 2.26.2

On a Thursday in 2020, Peter Krempa wrote:
Oops.
How did this get past review? O:-)
Peter Krempa (2): qemuSnapshotDiskContextCleanup: Don't leak snapctxt qemuSnapshotDiskContextNew: Don't set 'ndd'
src/qemu/qemu_snapshot.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (2)
-
Ján Tomko
-
Peter Krempa