This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 19b8fdbad635173e622bcf989448832016509d18
Author: anjiahao <[email protected]>
AuthorDate: Sun Oct 13 17:24:17 2024 +0800

    modlib:allow 64bit elf load
    
    Signed-off-by: anjiahao <[email protected]>
---
 libs/libc/modlib/modlib_bind.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libs/libc/modlib/modlib_bind.c b/libs/libc/modlib/modlib_bind.c
index af1e09366a..5b8cce26c2 100644
--- a/libs/libc/modlib/modlib_bind.c
+++ b/libs/libc/modlib/modlib_bind.c
@@ -333,7 +333,8 @@ static int modlib_relocate(FAR struct module_s *modp,
 
       /* Calculate the relocation address. */
 
-      if (rel->r_offset + sizeof(uint32_t) > dstsec->sh_size)
+      if (rel->r_offset < 0 ||
+          rel->r_offset > dstsec->sh_size)
         {
           berr("ERROR: Section %d reloc %d: "
                "Relocation address out of range, "
@@ -528,7 +529,8 @@ static int modlib_relocateadd(FAR struct module_s *modp,
 
       /* Calculate the relocation address. */
 
-      if (rela->r_offset + sizeof(uint32_t) > dstsec->sh_size)
+      if (rela->r_offset < 0 ||
+          rela->r_offset > dstsec->sh_size)
         {
           berr("ERROR: Section %d reloc %d: "
                "Relocation address out of range, "

Reply via email to