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

[libvirt] [PATCH 2/2] bridge: don't crash on bandwidth unplug with no bandwidth

If networkUnplugBandwidth is called on a network which has
no bandwidth defined, print a warning instead of crashing.

This can happen when destroying a domain with bandwith if
bandwidth was removed from the network after the domain was

 src/network/bridge_driver.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index f7c2470..72a3f70 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -4808,6 +4808,11 @@ networkUnplugBandwidth(virNetworkObjPtr net,
     if (iface->data.network.actual &&
         iface->data.network.actual->class_id) {
+        if (!net->def->bandwidth || !net->def->bandwidth->in) {
+            VIR_WARN("Network %s has no bandwidth but unplug requested",
+                     net->def->name);
+            goto cleanup;
+        }
         /* we must remove class from bridge */
         new_rate = net->def->bandwidth->in->average;

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