From 1a75bb9fc23e1a2a142febde597adbeee7ec0545 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 26 Apr 2013 13:57:36 -0400 Subject: [PATCH] Fix error checking on AllocateZeroPool() in update_boot_order() Signed-off-by: Peter Jones --- fallback.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fallback.c b/fallback.c index 8f9bcbe..7f4f883 100644 --- a/fallback.c +++ b/fallback.c @@ -203,16 +203,18 @@ update_boot_order(void) int n = size / sizeof (CHAR16) + nbootorder; newbootorder = AllocateZeroPool(n * sizeof (CHAR16)); + if (!newbootorder) + return EFI_OUT_OF_RESOURCES; CopyMem(newbootorder, bootorder, nbootorder * sizeof (CHAR16)); CopyMem(newbootorder + nbootorder, oldbootorder, size); size = n * sizeof (CHAR16); } else { size = nbootorder * sizeof(CHAR16); newbootorder = AllocateZeroPool(size); + if (!newbootorder) + return EFI_OUT_OF_RESOURCES; CopyMem(newbootorder, bootorder, size); } - if (!newbootorder) - return EFI_OUT_OF_RESOURCES; #ifdef DEBUG_FALLBACK Print(L"nbootorder: %d\nBootOrder: ", size / sizeof (CHAR16));