</model>
<model name='Conroe'>
- <vendor>Intel</vendor>
+ <vendor name='Intel'/>
<feature name='sse2'/>
<feature name='sse'/>
<feature name='fxsr'/>
</model>
<model name='Penryn'>
- <vendor>Intel</vendor>
+ <vendor name='Intel'/>
<feature name='sse2'/>
<feature name='sse'/>
<feature name='fxsr'/>
</model>
<model name='Nehalem'>
- <vendor>Intel</vendor>
+ <vendor name='Intel'/>
<feature name='sse2'/>
<feature name='sse'/>
<feature name='fxsr'/>
</model>
<model name='Opteron_G1'>
- <vendor>AMD</vendor>
+ <vendor name='AMD'/>
<feature name='sse2'/>
<feature name='sse'/>
<feature name='fxsr'/>
</model>
<model name='Opteron_G2'>
- <vendor>AMD</vendor>
+ <vendor name='AMD'/>
<feature name='sse2'/>
<feature name='sse'/>
<feature name='fxsr'/>
</model>
<model name='Opteron_G3'>
- <vendor>AMD</vendor>
+ <vendor name='AMD'/>
<feature name='sse2'/>
<feature name='sse'/>
<feature name='fxsr'/>
sizeof(*model->cpuid) * model->ncpuid);
}
- vendor = virXPathString("string(./vendor/@name)", ctxt);
- if (vendor) {
+ if (virXPathBoolean("boolean(./vendor)", ctxt)) {
+ vendor = virXPathString("string(./vendor/@name)", ctxt);
+ if (!vendor) {
+ virCPUReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Invalid vendor element in CPU model %s"),
+ model->name);
+ goto ignore;
+ }
+
if (!(model->vendor = x86VendorFind(map, vendor))) {
virCPUReportError(VIR_ERR_INTERNAL_ERROR,
_("Unknown vendor %s referenced by CPU model %s"),