diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2012-10-23 18:04:43 +0000 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2012-12-06 14:30:40 -0800 |
commit | 0c3929092d13cf12d6b9383f057e663b6334ee04 (patch) | |
tree | 898b5f0865d20b308db69354c021abc547d13e9f /arch/x86 | |
parent | 984d8b09fb3c0ebe97931e6b36ac39bed106ce09 (diff) | |
download | u-boot-imx-0c3929092d13cf12d6b9383f057e663b6334ee04.zip u-boot-imx-0c3929092d13cf12d6b9383f057e663b6334ee04.tar.gz u-boot-imx-0c3929092d13cf12d6b9383f057e663b6334ee04.tar.bz2 |
x86: Fix off-by-one error in do_elf_reloc_fixups()
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@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | 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; } |