From 0b119e2b19f6dd335eda0158a89348cb91b0c203 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Fri, 5 Aug 2016 00:01:42 +0200 Subject: [PATCH] cpu: Set nfeatures_max correctly in x86Decode Keeping nfeatures_max set to 0 while nfeatures > 0 and some features are already stored in features array is just asking for problems once we want to add a new feature into the array. Signed-off-by: Jiri Denemark --- src/cpu/cpu_x86.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index bd2670374c..f424f7205f 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -1871,10 +1871,12 @@ x86Decode(virCPUDefPtr cpu, if (vendor && VIR_STRDUP(cpu->vendor, vendor->name) < 0) goto cleanup; - cpu->model = cpuModel->model; + VIR_STEAL_PTR(cpu->model, cpuModel->model); + VIR_STEAL_PTR(cpu->features, cpuModel->features); cpu->nfeatures = cpuModel->nfeatures; - cpu->features = cpuModel->features; - VIR_FREE(cpuModel); + cpuModel->nfeatures = 0; + cpu->nfeatures_max = cpuModel->nfeatures_max; + cpuModel->nfeatures_max = 0; ret = 0; -- 2.47.2