Fix uninitialized data in rewriter elf_update (#54)
authorJosh Stone <cuviper@gmail.com>
Fri, 20 May 2016 21:15:57 +0000 (14:15 -0700)
committerBill Williams <wwilliam47@gmail.com>
Fri, 20 May 2016 21:15:57 +0000 (16:15 -0500)
commit69e1b1dbe5a52d723a0fafc4550fe8f35df3a8d7
treebcc801ecb8deefd5328be2feb0f6e46194960cb9
parente1afc691859534ed0438e80e071e3e4f6a4b5ff9
Fix uninitialized data in rewriter elf_update (#54)

Valgrind complained of uninitialized data in pwrite during elf_update.
Using --track-origins=yes found three origins to fix:

- trap_mapping_header has a padding field that was unset.  Use memset on
  the whole thing to be sure it's fully initialized.
- Parts of .dyninstInst may not be written due to gaps from inferior
  realloc or free.  Use calloc to initially zero this buffer.
- The new dynstr section leaves a byte of padding between the old and
  new data, but did not set it.  Make that NUL.
dyninstAPI/src/addressSpace.C
dyninstAPI/src/binaryEdit.C
symtabAPI/src/emitElf-64.C