Do it using a local Error variable and error_propagate(), so we don't miss any error reported by the property setters in case errp is NULL.
Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> --- target-i386/cpu.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/target-i386/cpu.c b/target-i386/cpu.c index 2907fb0..9334e0c 100644 --- a/target-i386/cpu.c +++ b/target-i386/cpu.c @@ -1424,7 +1424,7 @@ static void filter_features_for_kvm(X86CPU *cpu) } #endif -static int cpu_x86_register(X86CPU *cpu, const char *cpu_model) +static int cpu_x86_register(X86CPU *cpu, const char *cpu_model, Error **errp) { CPUX86State *env = &cpu->env; X86CPUDefinition def1, *def = &def1; @@ -1488,8 +1488,7 @@ static int cpu_x86_register(X86CPU *cpu, const char *cpu_model) } object_property_set_str(OBJECT(cpu), def->model_id, "model-id", &error); if (error) { - fprintf(stderr, "%s\n", error_get_pretty(error)); - error_free(error); + error_propagate(errp, error); return -1; } return 0; @@ -1505,7 +1504,7 @@ X86CPU *cpu_x86_init(const char *cpu_model) env = &cpu->env; env->cpu_model_str = cpu_model; - if (cpu_x86_register(cpu, cpu_model) < 0) { + if (cpu_x86_register(cpu, cpu_model, &error) < 0) { goto error; } -- 1.7.11.7