diff options
Diffstat (limited to 'results/scraper/launchpad-without-comments/1830415')
| -rw-r--r-- | results/scraper/launchpad-without-comments/1830415 | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1830415 b/results/scraper/launchpad-without-comments/1830415 new file mode 100644 index 00000000..af350c5b --- /dev/null +++ b/results/scraper/launchpad-without-comments/1830415 @@ -0,0 +1,14 @@ +linux-user elf loader issue + +all versions up to 4.0 (I didn't test others) +file affected linux-user/elfload.c +function load_elf_image + +if (phdr[i].p_type == PT_LOAD) { + +- abi_ulong a = phdr[i].p_vaddr - phdr[i].p_offset; ++ abi_ulong a = phdr[i].p_vaddr ; // - phdr[i].p_offset; + if (a < loaddr) { + loaddr = a; + +To the best of my understanding of the elf format p_offset is not a virtual offset. In fact, when I load statically compiled applications, the load fails because the libc before main is trying to access phdr in the executable image but that memory is not mapped -- this is caused by the wrong loaddr above. \ No newline at end of file |