mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
conf: log error when encountering multiple filterrefs in interface
Each interface has a single pointer to a filterref object. That filterref can itself point to multiple other filterrefs, but at the toplevel there is only one. The parser had previously just silently overwritten earlier filterrefs when a new one was encountered, so the interface was left with whichever was the last filterref in the xml, ignoring all the others. This patch logs an error when it sees more than one filterref.
This commit is contained in:
parent
300bcdb63b
commit
1f7a291c96
@ -4619,6 +4619,12 @@ virDomainNetDefParseXML(virCapsPtr caps,
|
||||
ioeventfd = virXMLPropString(cur, "ioeventfd");
|
||||
event_idx = virXMLPropString(cur, "event_idx");
|
||||
} else if (xmlStrEqual (cur->name, BAD_CAST "filterref")) {
|
||||
if (filter) {
|
||||
virReportError(VIR_ERR_XML_ERROR, "%s",
|
||||
_("Invalid specification of multiple <filterref>s "
|
||||
"in a single <interface>"));
|
||||
goto error;
|
||||
}
|
||||
filter = virXMLPropString(cur, "filter");
|
||||
virNWFilterHashTableFree(filterparams);
|
||||
filterparams = virNWFilterParseParamAttributes(cur);
|
||||
|
Loading…
x
Reference in New Issue
Block a user