Re: [PATCH] qemuBuildCommandLine: Don't overwrite errors with NWFilter's one

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

 



On 24/04/13 20:35, Michal Privoznik wrote:
Currently, if there has been an error in building command line
process after virtual interfaces has been created, the flow jumps
to 'error' label, where virDomainConfNWFilterTeardown() is
called. This may report an error as well, but should not
overwrite the original cause why we jumped to 'error' label.
---
  src/qemu/qemu_command.c | 10 +++++++---
  1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 741fa82..92b15d9 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -5872,6 +5872,7 @@ qemuBuildCommandLine(virConnectPtr conn,
                       virDomainSnapshotObjPtr snapshot,
                       enum virNetDevVPortProfileOp vmop)
  {
+    virErrorPtr originalError = NULL;
      int i, j;
      const char *emulator;
      char uuid[VIR_UUID_STRING_BUFLEN];
@@ -7802,13 +7803,16 @@ qemuBuildCommandLine(virConnectPtr conn,
      virObjectUnref(cfg);
      return cmd;
- no_memory:
+no_memory:
      virReportOOMError();
- error:
+error:

Seems we all prefer no leading space before the goto label now.

      virObjectUnref(cfg);
-    /* free up any resources in the network driver */
+    /* free up any resources in the network driver
+     * but don't overwrite the original error */
+    originalError = virSaveLastError();
      for (i = 0; i <= last_good_net; i++)
          virDomainConfNWFilterTeardown(def->nets[i]);
+    virSetError(originalError);
      virCommandFree(cmd);
      return NULL;
  }

ACK.

--
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]