diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
index 503bc2d348e59aa2f866a4ad5b79d913419e862b..037c321c56188f9fbb35193072f08052d6e4771f 100644
--- a/kernel/kexec_file.c
+++ b/kernel/kexec_file.c
@@ -887,7 +887,10 @@ int kexec_load_purgatory(struct kimage *image, unsigned long min,
 	return 0;
 out:
 	vfree(pi->sechdrs);
+	pi->sechdrs = NULL;
+
 	vfree(pi->purgatory_buf);
+	pi->purgatory_buf = NULL;
 	return ret;
 }