diff mbox series

[U-Boot,1/1] efi_loader: do not miss last relocation block

Message ID 20190216150021.13115-1-xypron.glpk@gmx.de
State Accepted
Commit 997fc12ec91eccf6b7485565864f3eb8ce74def2
Delegated to: Alexander Graf
Headers show
Series [U-Boot,1/1] efi_loader: do not miss last relocation block | expand

Commit Message

Heinrich Schuchardt Feb. 16, 2019, 3 p.m. UTC
If the last block in the relocation table contains only a single
relocation, the current coding ignores it.

Fix the determination of the end of the relocation table.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 lib/efi_loader/efi_image_loader.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/lib/efi_loader/efi_image_loader.c b/lib/efi_loader/efi_image_loader.c
index cec17eabaa..fe66e7b9ff 100644
--- a/lib/efi_loader/efi_image_loader.c
+++ b/lib/efi_loader/efi_image_loader.c
@@ -111,7 +111,7 @@  static efi_status_t efi_loader_relocate(const IMAGE_BASE_RELOCATION *rel,
 		return EFI_SUCCESS;
 
 	end = (const IMAGE_BASE_RELOCATION *)((const char *)rel + rel_size);
-	while (rel < end - 1 && rel->SizeOfBlock) {
+	while (rel < end && rel->SizeOfBlock) {
 		const uint16_t *relocs = (const uint16_t *)(rel + 1);
 		i = (rel->SizeOfBlock - sizeof(*rel)) / sizeof(uint16_t);
 		while (i--) {