diff --git a/xen/arch/x86/microcode_amd.c b/xen/arch/x86/microcode_amd.c index 3069784..9b74330 100644 --- a/xen/arch/x86/microcode_amd.c +++ b/xen/arch/x86/microcode_amd.c @@ -552,9 +552,12 @@ static int cpu_request_microcode(unsigned int cpu, const void *buf, mc_old = mc_amd; } - xfree(mc_old->mpb); - xfree(mc_old->equiv_cpu_table); - xfree(mc_old); + if ( mc_old ) + { + xfree(mc_old->mpb); + xfree(mc_old->equiv_cpu_table); + xfree(mc_old); + } out: #if CONFIG_HVM