From: Igor Mammedov Date: Tue, 2 Oct 2012 15:36:55 +0000 (+0200) Subject: target-i386: If x86_cpu_realize() failed, report error and do cleanup X-Git-Tag: qemu-xen-4.3.0-rc1~113^2~33 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ff287bbdda016b37990be7ed52339750aaa8a5e4;p=qemu-upstream-4.4-testing.git target-i386: If x86_cpu_realize() failed, report error and do cleanup Signed-off-by: Igor Mammedov Signed-off-by: Andreas Färber --- diff --git a/target-i386/helper.c b/target-i386/helper.c index c5d42c591..0424ccf6f 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -1243,6 +1243,7 @@ X86CPU *cpu_x86_init(const char *cpu_model) { X86CPU *cpu; CPUX86State *env; + Error *error = NULL; cpu = X86_CPU(object_new(TYPE_X86_CPU)); env = &cpu->env; @@ -1253,8 +1254,12 @@ X86CPU *cpu_x86_init(const char *cpu_model) return NULL; } - x86_cpu_realize(OBJECT(cpu), NULL); - + x86_cpu_realize(OBJECT(cpu), &error); + if (error) { + error_free(error); + object_delete(OBJECT(cpu)); + return NULL; + } return cpu; }