aboutsummaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2014-12-19 14:51:00 -0200
committerEduardo Habkost <ehabkost@redhat.com>2015-02-25 15:00:07 -0300
commit18b0e4e77142ace948497a053bd5b56c1b849592 (patch)
tree30e2fcb1201025ba60fb001d0d2f14b67cc2336d /target-i386
parent15258d46baef5f8265ad5f1002905664cf58f051 (diff)
target-i386: Simplify error handling on cpu_x86_init_user()
Isolate error handling path from the "if (error)" checks. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/cpu.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index aee4d3e7ce..f6a7671f0d 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2142,21 +2142,23 @@ CPUX86State *cpu_x86_init_user(const char *cpu_model)
cpu = cpu_x86_create(cpu_model, NULL, &error);
if (error) {
- goto out;
+ goto error;
}
object_property_set_bool(OBJECT(cpu), true, "realized", &error);
-
-out:
if (error) {
- error_report("%s", error_get_pretty(error));
- error_free(error);
- if (cpu != NULL) {
- object_unref(OBJECT(cpu));
- }
- return NULL;
+ goto error;
}
+
return &cpu->env;
+
+error:
+ error_report("%s", error_get_pretty(error));
+ error_free(error);
+ if (cpu != NULL) {
+ object_unref(OBJECT(cpu));
+ }
+ return NULL;
}
static void x86_cpu_cpudef_class_init(ObjectClass *oc, void *data)