summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Jones <pjones@redhat.com>2018-04-05 14:09:37 -0400
committerPeter Jones <pjones@redhat.com>2018-04-05 14:49:17 -0400
commit77ebb3d6765efd927104405c014cba9829e4a6df (patch)
tree71172b629469f45374a6756bd8a08f4e06d38b18
parent36cf41a61647640ebb2ee156140509cdc7ec7f7f (diff)
downloadefi-boot-shim-77ebb3d6765efd927104405c014cba9829e4a6df.tar.gz
efi-boot-shim-77ebb3d6765efd927104405c014cba9829e4a6df.zip
Audit get_variable() calls for correct FreePool() use.
Signed-off-by: Peter Jones <pjones@redhat.com>
-rw-r--r--MokManager.c3
-rw-r--r--fallback.c8
-rw-r--r--shim.c2
3 files changed, 10 insertions, 3 deletions
diff --git a/MokManager.c b/MokManager.c
index cd569b6d..7e40a38f 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -1310,7 +1310,8 @@ static EFI_STATUS delete_keys(void *MokDel, UINTN MokDelSize, BOOLEAN MokX)
gRT->SetVariable(db_name, &SHIM_LOCK_GUID,
EFI_VARIABLE_NON_VOLATILE |
EFI_VARIABLE_BOOTSERVICE_ACCESS, 0, NULL);
- return EFI_ACCESS_DENIED;
+ efi_status = EFI_ACCESS_DENIED;
+ goto error;
}
/* Nothing to do */
diff --git a/fallback.c b/fallback.c
index 574d296a..c3f5583c 100644
--- a/fallback.c
+++ b/fallback.c
@@ -33,14 +33,16 @@ get_fallback_verbose(void)
return state;
}
+ state = 0;
for (i = 0; i < dataSize; i++) {
if (data[i]) {
state = 1;
- return state;
+ break;
}
}
- state = 0;
+ if (data)
+ FreePool(data);
return state;
}
@@ -990,6 +992,8 @@ debug_hook(void)
return;
}
+ if (data)
+ FreePool(data);
if (x)
return;
diff --git a/shim.c b/shim.c
index a66df76b..00155346 100644
--- a/shim.c
+++ b/shim.c
@@ -2497,6 +2497,8 @@ debug_hook(void)
return;
}
+ FreePool(data);
+
console_print(L"add-symbol-file "DEBUGDIR
L"shim" EFI_ARCH L".efi.debug 0x%08x -s .data 0x%08x\n",
&_text, &_data);