Re: [PATCH v4 3/5] qemu_driver: use g_autofree when possible

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/16/19 10:54 PM, Daniel Henrique Barboza wrote:
String and other scalar pointers an be auto-unref, sparing us
a VIR_FREE() call.

This patch uses g_autofree whenever possible with strings and
other scalar pointer types.

Suggested-by: Erik Skultety <eskultet@xxxxxxxxxx>
Signed-off-by: Daniel Henrique Barboza <danielhb413@xxxxxxxxx>
---
  src/qemu/qemu_driver.c | 203 ++++++++++++++---------------------------
  1 file changed, 68 insertions(+), 135 deletions(-)



@@ -3300,7 +3295,7 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver,
                         int compressed, const char *compressedpath,
                         const char *xmlin, unsigned int flags)
  {
-    char *xml = NULL;
+    g_autofree char *xml = NULL;
      bool was_running = false;
      int ret = -1;
      virObjectEventPtr event = NULL;
@@ -3381,7 +3376,6 @@ qemuDomainSaveInternal(virQEMUDriverPtr driver,
      if (!(data = virQEMUSaveDataNew(xml, cookie, was_running, compressed,
                                      driver->xmlopt)))
          goto endjob;
-    xml = NULL;

No, this line has to be here. The point is that virQEMUSaveDataNew() takes ownership of @xml (in a very clumsy way though), so qemuDomainSaveInternal() has to refrain from freeing it. Setting it to NULL is how we achieve that.

ret = qemuDomainSaveMemory(driver, vm, path, data, compressedpath,
                                 flags, QEMU_ASYNC_JOB_SAVE);

Michal

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux