When formatting the forward mode addresses or interfaces the switch
was
done based on the type of the network rather than of the type of the
individual <interface>/<address> element. In case a user would specify
an incorrect network type ("passhtrough") with <address> elements,
libvirtd would crash as it would attempt to format an <interface>.
Use the type of the individual element to format the XML.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1132347
---
The parser would be better of with a refactor. This is a minimal
change to fix the crash.
src/conf/network_conf.c | 5 ++---
tests/networkxml2xmlin/passthrough-address-crash.xml | 7 +++++++
tests/networkxml2xmlout/passthrough-address-crash.xml | 7 +++++++
tests/networkxml2xmltest.c | 1 +
4 files changed, 17 insertions(+), 3 deletions(-)
create mode 100644 tests/networkxml2xmlin/passthrough-address-crash.xml
create mode 100644 tests/networkxml2xmlout/passthrough-address-crash.xml