]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
bridge: don't crash on bandwidth unplug with no bandwidth
authorJán Tomko <jtomko@redhat.com>
Fri, 21 Jun 2013 17:20:31 +0000 (19:20 +0200)
committerJán Tomko <jtomko@redhat.com>
Mon, 1 Jul 2013 09:54:11 +0000 (11:54 +0200)
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 bandwidth if
bandwidth was removed from the network after the domain was
started.

https://bugzilla.redhat.com/show_bug.cgi?id=975359
(cherry picked from commit 658c932ab4aec2222b0ce3840a96748e73b39b3f)

src/network/bridge_driver.c

index 9664be55370146bbfc922ea53153337be43654e8..777024fbbb813387e8ee1258c0138e5f0c971d2f 100644 (file)
@@ -4750,6 +4750,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;