diff --git a/src/cpu/cpu_ppc64.c b/src/cpu/cpu_ppc64.c index 364c8ed082..1aed984e90 100644 --- a/src/cpu/cpu_ppc64.c +++ b/src/cpu/cpu_ppc64.c @@ -886,8 +886,10 @@ ppc64DriverGetModels(char ***models) if (VIR_STRDUP(name, model->name) < 0) goto error; - if (VIR_APPEND_ELEMENT(*models, nmodels, name) < 0) + if (VIR_APPEND_ELEMENT(*models, nmodels, name) < 0) { + VIR_FREE(name); goto error; + } } else { nmodels++; } diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index b7f16903c0..c6aacc1463 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -2219,8 +2219,10 @@ x86GetModels(char ***models) if (VIR_STRDUP(name, model->name) < 0) goto error; - if (VIR_APPEND_ELEMENT(*models, nmodels, name) < 0) + if (VIR_APPEND_ELEMENT(*models, nmodels, name) < 0) { + VIR_FREE(name); goto error; + } } else { nmodels++; }