summaryrefslogtreecommitdiffstats
path: root/linux-user
diff options
context:
space:
mode:
authorEduardo Habkost2015-02-03 19:48:51 +0100
committerEduardo Habkost2015-02-25 19:00:07 +0100
commit696da41b1b741f6056e52c572e05abd790637be1 (patch)
treeba2684230552b28581c40475ba4e7253f328f9fc /linux-user
parenttarget-i386: Move CPUX86State.cpuid_apic_id to X86CPU.apic_id (diff)
downloadqemu-696da41b1b741f6056e52c572e05abd790637be1.tar.gz
qemu-696da41b1b741f6056e52c572e05abd790637be1.tar.xz
qemu-696da41b1b741f6056e52c572e05abd790637be1.zip
linux-user: Check for cpu_init() errors
This was the only caller of cpu_init() that was not checking for NULL yet. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/linux-user/main.c b/linux-user/main.c
index d92702a734..111c1ffafc 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -3453,10 +3453,17 @@ CPUArchState *cpu_copy(CPUArchState *env)
{
CPUState *cpu = ENV_GET_CPU(env);
CPUArchState *new_env = cpu_init(cpu_model);
- CPUState *new_cpu = ENV_GET_CPU(new_env);
+ CPUState *new_cpu;
CPUBreakpoint *bp;
CPUWatchpoint *wp;
+ if (!new_env) {
+ fprintf(stderr, "cpu_copy: Failed to create new CPU\n");
+ exit(1);
+ }
+
+ new_cpu = ENV_GET_CPU(new_env);
+
/* Reset non arch specific state */
cpu_reset(new_cpu);