[libvirt] [PATCH] networkStartNetworkVirtual: Don't overwrite error in 'err5'

Michal Privoznik mprivozn at redhat.com
Tue Apr 23 14:21:49 UTC 2019


If there's an error when setting up QoS on a bridge the control
jumps over to 'err5' label. Here, the virNetDevBandwidthClear()
is called to clear out any partially set QoS. This function can
also report an error which would overwrite the actual error that
caused us jumping here. 🤦 Use virErrorPreserveLast() to preserve
the original error.

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/network/bridge_driver.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index ce4f4890f1..77206b4584 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -2493,6 +2493,7 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver,
     return 0;
 
  err5:
+    virErrorPreserveLast(&save_err);
     if (def->bandwidth)
        virNetDevBandwidthClear(def->bridge);
 
-- 
2.21.0




More information about the libvir-list mailing list