Index: /trunk/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h
===================================================================
--- /trunk/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h	(revision 60449)
+++ /trunk/src/VBox/Runtime/common/ldr/ldrELFRelocatable.cpp.h	(revision 60450)
@@ -250,5 +250,5 @@
         else
         {
-            AssertMsgReturn(pSym->st_shndx < pModElf->cSyms || pSym->st_shndx == SHN_ABS, ("%#x\n", pSym->st_shndx),
+            AssertMsgReturn(pSym->st_shndx < pModElf->Ehdr.e_shnum || pSym->st_shndx == SHN_ABS, ("%#x\n", pSym->st_shndx),
                             VERR_LDRELF_INVALID_RELOCATION_OFFSET);
 #if   ELF_MODE == 64
@@ -258,9 +258,9 @@
 
 #if   ELF_MODE == 64
-        /* Calc the value. */
+        /* Calc the value (indexes checked above; assumes SHN_UNDEF == 0). */
         Elf_Addr Value;
-        if (pSym->st_shndx < pModElf->cSyms)
+        if (pSym->st_shndx < pModElf->Ehdr.e_shnum)
             Value = SymValue + offDelta;
-        else
+        else /* SHN_ABS: */
             Value = SymValue + paRels[iRel].r_addend;
 #endif
