On 03/19/2012 12:46 PM, Laine Stump wrote:
If an error was encountered parsing a dhcp host entry mac address or
name, parsing would continue and log a less descriptive error that
might make it more difficult to notice the true nature of the problem.
This patch returns immediately on logging the first error.
---
src/conf/network_conf.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
index 0333141..4341f11 100644
--- a/src/conf/network_conf.c
+++ b/src/conf/network_conf.c
@@ -430,13 +430,16 @@ virNetworkDHCPRangeDefParseXML(const char *networkName,
_("Cannot parse MAC address '%s' in
network '%s'"),
mac, networkName);
VIR_FREE(mac);
+ return -1;
}
name = virXMLPropString(cur, "name");
if ((name != NULL) && (!c_isalpha(name[0]))) {
virNetworkReportError(VIR_ERR_INTERNAL_ERROR,
_("Cannot use name address '%s' in
network '%s'"),
name, networkName);
+ VIR_FREE(mac);
VIR_FREE(name);
+ return -1;
ACK. I was debating if it would have been any cleaner to have a
cleanup: label, but then you start having to do major refactoring to
take advantage of it, at which point this patch would no longer be quite
so small.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org