فهرست منبع

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>
(cherry picked from commit 696da41b1b741f6056e52c572e05abd790637be1)

Conflicts:
	linux-user/main.c

*removed context dependency on ec53b45

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Eduardo Habkost 10 سال پیش
والد
کامیت
a958b9be86
1فایلهای تغییر یافته به همراه8 افزوده شده و 1 حذف شده
  1. 8 1
      linux-user/main.c

+ 8 - 1
linux-user/main.c

@@ -3435,12 +3435,19 @@ CPUArchState *cpu_copy(CPUArchState *env)
 {
 {
     CPUState *cpu = ENV_GET_CPU(env);
     CPUState *cpu = ENV_GET_CPU(env);
     CPUArchState *new_env = cpu_init(cpu_model);
     CPUArchState *new_env = cpu_init(cpu_model);
-    CPUState *new_cpu = ENV_GET_CPU(new_env);
+    CPUState *new_cpu;
 #if defined(TARGET_HAS_ICE)
 #if defined(TARGET_HAS_ICE)
     CPUBreakpoint *bp;
     CPUBreakpoint *bp;
     CPUWatchpoint *wp;
     CPUWatchpoint *wp;
 #endif
 #endif
 
 
+    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 */
     /* Reset non arch specific state */
     cpu_reset(new_cpu);
     cpu_reset(new_cpu);