diff options
author | Karol Lewandowski <k.lewandowsk@samsung.com> | 2017-04-18 15:00:30 +0200 |
---|---|---|
committer | Karol Lewandowski <k.lewandowsk@samsung.com> | 2017-04-18 15:01:26 +0200 |
commit | a9efc938cd2dc7e5c884a8fa74a8f3d04630c53a (patch) | |
tree | 0dc4e40670a468839af85f9d5720c51f886012ce /src/crash-stack | |
parent | c77493cc8d8bd94826bb4441049743d308524c39 (diff) | |
parent | 3191bd1032828fd69efc0b5d617e1fa9914d371e (diff) | |
download | crash-worker-a9efc938cd2dc7e5c884a8fa74a8f3d04630c53a.tar.gz crash-worker-a9efc938cd2dc7e5c884a8fa74a8f3d04630c53a.tar.bz2 crash-worker-a9efc938cd2dc7e5c884a8fa74a8f3d04630c53a.zip |
Merge branch 'tizen_3.0'
This commit brings followings fixes from tizen_3.0 branch:
- Fallback to ptrace call-stack unwinder if sys-assert failed
- libunwind: Fix off by one in _create_crash_stack
- sys-assert: Fix handle leak of mmap
Change-Id: I422c4ddff0fb4dfb72738d70a7170080304081dd
Diffstat (limited to 'src/crash-stack')
-rw-r--r-- | src/crash-stack/crash-stack-libunw.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/crash-stack/crash-stack-libunw.c b/src/crash-stack/crash-stack-libunw.c index 544a3e4..7161010 100644 --- a/src/crash-stack/crash-stack-libunw.c +++ b/src/crash-stack/crash-stack-libunw.c @@ -47,8 +47,7 @@ void _create_crash_stack(Dwfl *dwfl, pid_t pid, Callstack *callstack) break; char proc_name[MAXPROCNAMELEN]; - for (; callstack->elems < sizeof(callstack->proc)/sizeof(callstack->proc[0]); - ++callstack->elems) { + for (; callstack->elems < sizeof(callstack->proc)/sizeof(callstack->proc[0]); ) { unw_word_t ip; if (unw_get_reg(&cursor, UNW_REG_IP, &ip) < 0) @@ -60,6 +59,8 @@ void _create_crash_stack(Dwfl *dwfl, pid_t pid, Callstack *callstack) if (unw_get_proc_name(&cursor, proc_name, sizeof(proc_name), &off) == 0) callstack->proc[callstack->elems].offset = off; + ++callstack->elems; + if (unw_step(&cursor) <= 0) break; } |