|
 |
6a35ff |
From 956717e2b375d7c7f0faafec8f12a7692708eb9a Mon Sep 17 00:00:00 2001
|
|
 |
6a35ff |
From: Paul Menzel <pmenzel@molgen.mpg.de>
|
|
 |
6a35ff |
Date: Wed, 23 May 2018 12:32:37 +0200
|
|
 |
6a35ff |
Subject: [PATCH 10/62] shim: Extend invalid reloc size warning message
|
|
 |
6a35ff |
|
|
 |
6a35ff |
Knowing the value of the reloc directory size is helpful for debugging,
|
|
 |
6a35ff |
cf. issue #131 [1],
|
|
 |
6a35ff |
|
|
 |
6a35ff |
[1]: https://github.com/rhboot/shim/issues/131
|
|
 |
6a35ff |
|
|
 |
6a35ff |
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
|
|
 |
6a35ff |
Upstream-commit-id: dd3230d07f3
|
|
 |
6a35ff |
---
|
|
 |
6a35ff |
shim.c | 10 ++++++++--
|
|
 |
6a35ff |
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
 |
6a35ff |
|
|
 |
6a35ff |
diff --git a/shim.c b/shim.c
|
|
 |
6a35ff |
index ff0817009cd..05fc65005d1 100644
|
|
 |
6a35ff |
--- a/shim.c
|
|
 |
6a35ff |
+++ b/shim.c
|
|
 |
6a35ff |
@@ -280,8 +280,14 @@ static EFI_STATUS relocate_coff (PE_COFF_LOADER_IMAGE_CONTEXT *context,
|
|
 |
6a35ff |
while (RelocBase < RelocBaseEnd) {
|
|
 |
6a35ff |
Reloc = (UINT16 *) ((char *) RelocBase + sizeof (EFI_IMAGE_BASE_RELOCATION));
|
|
 |
6a35ff |
|
|
 |
6a35ff |
- if ((RelocBase->SizeOfBlock == 0) || (RelocBase->SizeOfBlock > context->RelocDir->Size)) {
|
|
 |
6a35ff |
- perror(L"Reloc %d block size %d is invalid\n", n, RelocBase->SizeOfBlock);
|
|
 |
6a35ff |
+ if (RelocBase->SizeOfBlock == 0) {
|
|
 |
6a35ff |
+ perror(L"Reloc %d block size 0 is invalid\n", n);
|
|
 |
6a35ff |
+ return EFI_UNSUPPORTED;
|
|
 |
6a35ff |
+ } else if (RelocBase->SizeOfBlock > context->RelocDir->Size) {
|
|
 |
6a35ff |
+ perror(L"Reloc %d block size %d greater than reloc dir"
|
|
 |
6a35ff |
+ "size %d, which is invalid\n", n,
|
|
 |
6a35ff |
+ RelocBase->SizeOfBlock,
|
|
 |
6a35ff |
+ context->RelocDir->Size);
|
|
 |
6a35ff |
return EFI_UNSUPPORTED;
|
|
 |
6a35ff |
}
|
|
 |
6a35ff |
|
|
 |
6a35ff |
--
|
|
 |
6a35ff |
2.26.2
|
|
 |
6a35ff |
|