mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00:00
virNetworkDHCPRangeDefParseXML: Use virXMLNodeGetSubelement to find 'lease'
This also prevents a potential memleak when multiple elements would be present. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
4088b5afa3
commit
7bd0e8674c
@ -453,7 +453,7 @@ virNetworkDHCPRangeDefParseXML(const char *networkName,
|
|||||||
virNetworkDHCPRangeDef *range)
|
virNetworkDHCPRangeDef *range)
|
||||||
{
|
{
|
||||||
virSocketAddrRange *addr = &range->addr;
|
virSocketAddrRange *addr = &range->addr;
|
||||||
xmlNodePtr cur = node->children;
|
xmlNodePtr lease;
|
||||||
g_autofree char *start = NULL;
|
g_autofree char *start = NULL;
|
||||||
g_autofree char *end = NULL;
|
g_autofree char *end = NULL;
|
||||||
|
|
||||||
@ -480,15 +480,9 @@ virNetworkDHCPRangeDefParseXML(const char *networkName,
|
|||||||
virNetworkIPDefPrefix(ipdef)) < 0)
|
virNetworkIPDefPrefix(ipdef)) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
while (cur != NULL) {
|
if ((lease = virXMLNodeGetSubelement(node, "lease")) &&
|
||||||
if (cur->type == XML_ELEMENT_NODE &&
|
virNetworkDHCPLeaseTimeDefParseXML(&range->lease, lease) < 0)
|
||||||
virXMLNodeNameEqual(cur, "lease")) {
|
return -1;
|
||||||
|
|
||||||
if (virNetworkDHCPLeaseTimeDefParseXML(&range->lease, cur) < 0)
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
cur = cur->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user