diff --git a/cfg.mk b/cfg.mk index e8ff5f5cec0f693aec4731001bfba0167c43eac1..21f83c34351959e470f40848f71e923d2f29bfb0 100644 --- a/cfg.mk +++ b/cfg.mk @@ -992,7 +992,7 @@ sc_prohibit_system_error_with_vir_err: # functions. There's a corresponding exclude to allow usage within tests, # docs, examples, tools, src/libvirt-*.c, and include/libvirt/libvirt-*.h sc_prohibit_virXXXFree: - @prohibit='\bvir(Domain|Network|NodeDevice|StorageVol|StoragePool|Stream|Secret|NWFilter|Interface)Free\b' \ + @prohibit='\bvir(Domain|Network|NodeDevice|StorageVol|StoragePool|Stream|Secret|NWFilter|Interface|DomainSnapshot)Free\b' \ exclude='sc_prohibit_virXXXFree' \ halt='avoid using 'virXXXFree', use 'virObjectUnref' instead' \ $(_sc_search_regexp) @@ -1186,4 +1186,4 @@ exclude_file_name_regexp--sc_prohibit_devname = \ ^(tools/virsh.pod|cfg.mk|docs/.*)$$ exclude_file_name_regexp--sc_prohibit_virXXXFree = \ - ^(docs/|tests/|examples/|tools/|cfg.mk|src/test/test_driver.c|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network|nodedev|storage|stream|secret|nwfilter|interface).h|src/libvirt-(domain|qemu|network|nodedev|storage|stream|secret|nwfilter|interface).c$$) + ^(docs/|tests/|examples/|tools/|cfg.mk|src/test/test_driver.c|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network|nodedev|storage|stream|secret|nwfilter|interface|domain-snapshot).h|src/libvirt-(domain|qemu|network|nodedev|storage|stream|secret|nwfilter|interface|domain-snapshot).c$$) diff --git a/daemon/remote.c b/daemon/remote.c index 3e4dc1ff35d74d85f7b6b55bfb1857c8ae9d0b11..d657a09d8a3eb0ae4c0ac9ff6587f68386f5ee9f 100644 --- a/daemon/remote.c +++ b/daemon/remote.c @@ -4535,7 +4535,7 @@ remoteDispatchDomainListAllSnapshots(virNetServerPtr server ATTRIBUTE_UNUSED, virObjectUnref(dom); if (snaps && nsnaps > 0) { for (i = 0; i < nsnaps; i++) - virDomainSnapshotFree(snaps[i]); + virObjectUnref(snaps[i]); VIR_FREE(snaps); } return rv; @@ -4600,12 +4600,11 @@ remoteDispatchDomainSnapshotListAllChildren(virNetServerPtr server ATTRIBUTE_UNU cleanup: if (rv < 0) virNetMessageSaveError(rerr); - if (snapshot) - virDomainSnapshotFree(snapshot); + virObjectUnref(snapshot); virObjectUnref(dom); if (snaps && nsnaps > 0) { for (i = 0; i < nsnaps; i++) - virDomainSnapshotFree(snaps[i]); + virObjectUnref(snaps[i]); VIR_FREE(snaps); } return rv; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index f66d746bd93f09c792064cb6e8e6d7cda006ee78..5dc62b0daa89cd64c64e479657f66db3e37bd39a 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14079,7 +14079,7 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain, cfg->snapshotDir) < 0) { /* if writing of metadata fails, error out rather than trying * to silently carry on without completing the snapshot */ - virDomainSnapshotFree(snapshot); + virObjectUnref(snapshot); snapshot = NULL; virReportError(VIR_ERR_INTERNAL_ERROR, _("unable to save metadata for snapshot %s"), diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 3dc3ecbb76bbc6b4090a4ac44cf21c1362971db2..999f16d0e1b4851fdfcd0ba40173bfa2a00e1944 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -6766,8 +6766,7 @@ remoteDomainListAllSnapshots(virDomainPtr dom, cleanup: if (snaps) { for (i = 0; i < ret.snapshots.snapshots_len; i++) - if (snaps[i]) - virDomainSnapshotFree(snaps[i]); + virObjectUnref(snaps[i]); VIR_FREE(snaps); } @@ -6833,8 +6832,7 @@ remoteDomainSnapshotListAllChildren(virDomainSnapshotPtr parent, cleanup: if (snaps) { for (i = 0; i < ret.snapshots.snapshots_len; i++) - if (snaps[i]) - virDomainSnapshotFree(snaps[i]); + virObjectUnref(snaps[i]); VIR_FREE(snaps); }