[U-Boot] [PATCH 12/15] x86: Fix off-by-one error in do_elf_reloc_fixups()
Simon Glass
sjg at chromium.org
Wed Oct 24 06:04:43 CEST 2012
From: Duncan Laurie <dlaurie at chromium.org>
The use of post-increment with a do-while loop results in
the loop going one step too far when handling relocation fixups.
In about 1/100 cases this would cause it to hang.
Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
Signed-off-by: Simon Glass <sjg at chromium.org>
---
arch/x86/lib/relocate.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/lib/relocate.c b/arch/x86/lib/relocate.c
index 200baab..c0b9b29 100644
--- a/arch/x86/lib/relocate.c
+++ b/arch/x86/lib/relocate.c
@@ -85,7 +85,7 @@ int do_elf_reloc_fixups(void)
*offset_ptr_ram += gd->reloc_off;
}
}
- } while (re_src++ < re_end);
+ } while (++re_src < re_end);
return 0;
}
--
1.7.7.3
More information about the U-Boot
mailing list