]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
bridge: check for invalid MAC in networkGetDHCPLeases
authorJán Tomko <jtomko@redhat.com>
Thu, 3 Dec 2015 08:47:23 +0000 (09:47 +0100)
committerJán Tomko <jtomko@redhat.com>
Thu, 3 Dec 2015 09:15:22 +0000 (10:15 +0100)
Instead of comparing garbage strings against real MAC addresses,
introduce an error mesage for unparsable ones:

$ virsh net-dhcp-leases default  --mac t12
error: Failed to get leases info for default
error: invalid MAC address: t12

https://bugzilla.redhat.com/show_bug.cgi?id=1261432

src/network/bridge_driver.c

index a0f64947f77dfdee83975ed5cc8a55473d7ccaa0..362e2945ff6bf52a7c45da88cd2a833b8c70759c 100644 (file)
@@ -3648,9 +3648,16 @@ networkGetDHCPLeases(virNetworkPtr network,
     virNetworkDHCPLeasePtr lease = NULL;
     virNetworkDHCPLeasePtr *leases_ret = NULL;
     virNetworkObjPtr obj;
+    virMacAddr mac_addr;
 
     virCheckFlags(0, -1);
 
+    /* only to check if the MAC is valid */
+    if (mac && virMacAddrParse(mac, &mac_addr) < 0) {
+        virReportError(VIR_ERR_INVALID_MAC, "%s", mac);
+        return -1;
+    }
+
     if (!(obj = networkObjFromNetwork(network)))
         return -1;