diff options
author | Kunhoon Baik <knhoon.baik@samsung.com> | 2016-07-09 11:30:19 +0900 |
---|---|---|
committer | Kunhoon Baik <knhoon.baik@samsung.com> | 2016-07-09 11:30:19 +0900 |
commit | 8abe6f64a90d33e2289762e4001f38a58791e46e (patch) | |
tree | aa719c23f7cfd2089c677bdf18010b9b22c34f46 /src/crash-stack | |
parent | 069a4d7b6a1638b15b5dda6ed9925ab503f75467 (diff) | |
download | crash-worker-8abe6f64a90d33e2289762e4001f38a58791e46e.tar.gz crash-worker-8abe6f64a90d33e2289762e4001f38a58791e46e.tar.bz2 crash-worker-8abe6f64a90d33e2289762e4001f38a58791e46e.zip |
Check phdr for Referencing phdrsubmit/tizen/20160711.000426accepted/tizen/wearable/20160711.030546accepted/tizen/tv/20160711.030542accepted/tizen/mobile/20160711.030623accepted/tizen/ivi/20160711.031048accepted/tizen/common/20160711.170040
Change-Id: I63f07a7506d556de3d4c576fd141a007a34ceb0d
Diffstat (limited to 'src/crash-stack')
-rw-r--r-- | src/crash-stack/crash-stack-arm.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/crash-stack/crash-stack-arm.c b/src/crash-stack/crash-stack-arm.c index 4edf54f..e1d6904 100644 --- a/src/crash-stack/crash-stack-arm.c +++ b/src/crash-stack/crash-stack-arm.c @@ -75,13 +75,19 @@ Boolean readT (Int32 a, void *v, size_t size) { // get data from segment GElf_Phdr mem; - GElf_Phdr *phdr = gelf_getphdr (g_core, segment, &mem); - Dwarf_Addr offset_in_segment = a - phdr->p_vaddr; - if (offset_in_segment < phdr->p_filesz) + GElf_Phdr *phdr; + Dwarf_Addr offset_in_segment; + + phdr = gelf_getphdr (g_core, segment, &mem); + if (phdr != NULL) { - Dwarf_Addr offset_in_file = phdr->p_offset + offset_in_segment; + offset_in_segment = a - phdr->p_vaddr; + if (offset_in_segment < phdr->p_filesz) + { + Dwarf_Addr offset_in_file = phdr->p_offset + offset_in_segment; - data = elf_getdata_rawchunk (g_core, offset_in_file, size, ELF_T_BYTE); + data = elf_getdata_rawchunk (g_core, offset_in_file, size, ELF_T_BYTE); + } } } |