Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Aug 2002 20:56:58 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/libexec/rtld-elf/ia64 reloc.c
Message-ID:  <200208220356.g7M3uwnQ071600@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
marcel      2002/08/21 20:56:58 PDT

  Modified files:
    libexec/rtld-elf/ia64 reloc.c 
  Log:
  Fix a nasty memory corruption bug caused by having a bogus pointer
  for the DT_IA64_PLT_RESERVE dynamic table entry. When a shared object
  does not have any PLT relocations, the linker apparently doesn't find
  it necessary to actually reserve the space for the BOR (Bind On
  Reference) entries as pointed to by the DTE. As a result, relocatable
  data in the PLT was overwritten, causing some unexpected control flow
  with annoyingly predictable outcome: coredump.
  To reproduce:
          % echo 'int main() { return 0; }' > foo.c
          % cc -o foo foo.c -lxpg4
  
  Revision  Changes    Path
  1.9       +8 -0      src/libexec/rtld-elf/ia64/reloc.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208220356.g7M3uwnQ071600>