The fw_cfg value returned from fw_cfg_find() may be NULL, so check it
before using.

Signed-off-by: Hongbo Zhang <hongbo.zh...@linaro.org>
---
 hw/arm/boot.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/arm/boot.c b/hw/arm/boot.c
index e09201c..43b217f 100644
--- a/hw/arm/boot.c
+++ b/hw/arm/boot.c
@@ -930,6 +930,7 @@ void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info 
*info)
     hwaddr entry;
     static const ARMInsnFixup *primary_loader;
     AddressSpace *as = arm_boot_address_space(cpu, info);
+    FWCfgState *fw_cfg;
 
     /* CPU objects (unlike devices) are not automatically reset on system
      * reset, so we must always register a handler to do so. If we're
@@ -960,11 +961,10 @@ void arm_load_kernel(ARMCPU *cpu, struct arm_boot_info 
*info)
             info->dtb_start = info->loader_start;
         }
 
-        if (info->kernel_filename) {
-            FWCfgState *fw_cfg;
+        fw_cfg = fw_cfg_find();
+        if (info->kernel_filename && fw_cfg) {
             bool try_decompressing_kernel;
 
-            fw_cfg = fw_cfg_find();
             try_decompressing_kernel = arm_feature(&cpu->env,
                                                    ARM_FEATURE_AARCH64);
 
-- 
2.7.4


Reply via email to