mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
virNWFilterParseParamAttributes: Use automatic memory management
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
ec5838fc17
commit
84ac5beeac
@ -698,18 +698,15 @@ virNWFilterParseVarValue(const char *val)
|
|||||||
GHashTable *
|
GHashTable *
|
||||||
virNWFilterParseParamAttributes(xmlNodePtr cur)
|
virNWFilterParseParamAttributes(xmlNodePtr cur)
|
||||||
{
|
{
|
||||||
char *nam, *val;
|
g_autoptr(GHashTable) table = virHashNew(virNWFilterVarValueHashFree);
|
||||||
virNWFilterVarValue *value;
|
|
||||||
|
|
||||||
GHashTable *table = virHashNew(virNWFilterVarValueHashFree);
|
|
||||||
|
|
||||||
cur = xmlFirstElementChild(cur);
|
cur = xmlFirstElementChild(cur);
|
||||||
|
|
||||||
while (cur != NULL) {
|
while (cur != NULL) {
|
||||||
if (virXMLNodeNameEqual(cur, "parameter")) {
|
if (virXMLNodeNameEqual(cur, "parameter")) {
|
||||||
nam = virXMLPropString(cur, "name");
|
g_autofree char *nam = virXMLPropString(cur, "name");
|
||||||
val = virXMLPropString(cur, "value");
|
g_autofree char *val = virXMLPropString(cur, "value");
|
||||||
value = NULL;
|
g_autoptr(virNWFilterVarValue) value = NULL;
|
||||||
if (nam != NULL && val != NULL) {
|
if (nam != NULL && val != NULL) {
|
||||||
if (!isValidVarName(nam))
|
if (!isValidVarName(nam))
|
||||||
goto skip_entry;
|
goto skip_entry;
|
||||||
@ -733,20 +730,13 @@ virNWFilterParseParamAttributes(xmlNodePtr cur)
|
|||||||
value = NULL;
|
value = NULL;
|
||||||
}
|
}
|
||||||
skip_entry:
|
skip_entry:
|
||||||
virNWFilterVarValueFree(value);
|
|
||||||
VIR_FREE(nam);
|
|
||||||
VIR_FREE(val);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cur = xmlNextElementSibling(cur);
|
cur = xmlNextElementSibling(cur);
|
||||||
}
|
}
|
||||||
return table;
|
|
||||||
|
return g_steal_pointer(&table);
|
||||||
|
|
||||||
err_exit:
|
err_exit:
|
||||||
VIR_FREE(nam);
|
|
||||||
VIR_FREE(val);
|
|
||||||
virNWFilterVarValueFree(value);
|
|
||||||
virHashFree(table);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user