diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index 40fed9638d4cb1b90df4717cc427e9ffb3b75fe0..1e657ad91eec1970c0e1a7f4278bf2d80b02d8bd 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -357,8 +357,7 @@ virCPUDefParseXML(const xmlNodePtr node, } } - n = virXPathNodeSet("./feature", ctxt, &nodes); - if (n < 0) + if ((n = virXPathNodeSet("./feature", ctxt, &nodes)) < 0) goto error; if (n > 0) { @@ -372,6 +371,7 @@ virCPUDefParseXML(const xmlNodePtr node, if (VIR_RESIZE_N(def->features, def->nfeatures_max, def->nfeatures, n) < 0) goto error; + def->nfeatures = n; } diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index acbdb1d7077829d14598523c35fada8ce12d9b2d..928a67b96af325e27932c2edc3928a50b11e7661 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -1725,9 +1725,9 @@ x86UpdateCustom(virCPUDefPtr guest, if (guest->match == VIR_CPU_MATCH_MINIMUM) { guest->match = VIR_CPU_MATCH_EXACT; - if (x86ModelSubtractCPU(host_model, guest, map) - || x86DataToCPUFeatures(guest, VIR_CPU_FEATURE_REQUIRE, - host_model->data, map)) + if (x86ModelSubtractCPU(host_model, guest, map) || + x86DataToCPUFeatures(guest, VIR_CPU_FEATURE_REQUIRE, + host_model->data, map)) goto cleanup; }