summaryrefslogtreecommitdiff
path: root/lib/variables.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/variables.c')
-rw-r--r--lib/variables.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/variables.c b/lib/variables.c
index 8e63aa8f..1a2c7d48 100644
--- a/lib/variables.c
+++ b/lib/variables.c
@@ -226,6 +226,8 @@ SetSecureVariable(const CHAR16 * const var, UINT8 *Data, UINTN len,
}
efi_status = CreateTimeBasedPayload(&DataSize, (UINT8 **)&Cert);
if (EFI_ERROR(efi_status)) {
+ if (Cert && Cert != (EFI_SIGNATURE_LIST *)Data)
+ FreePool(Cert);
console_print(L"Failed to create time based payload %d\n",
efi_status);
return efi_status;