Having multiple CPU model definitions with the same name could result in
unexpected behavior.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/cpu/cpu_x86.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 82f7bcbb45..c2f22f399f 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -1293,9 +1293,15 @@ x86ModelParse(xmlXPathContextPtr ctxt,
void *data)
{
virCPUx86MapPtr map = data;
- virCPUx86ModelPtr model;
+ virCPUx86ModelPtr model = NULL;
int ret = -1;
+ if (x86ModelFind(map, name)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Multiple definitions of CPU model '%s'"),
name);
+ goto cleanup;
+ }
+
if (!(model = x86ModelNew()))
goto cleanup;
--
2.21.0