summaryrefslogtreecommitdiff
path: root/addr2line.c
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2021-09-05 16:17:25 +0900
committernagachika <nagachika@ruby-lang.org>2021-09-05 16:17:25 +0900
commit7b4bc893941b146565c396606effb5f16aa9e88d (patch)
tree2adb544c499c35c853dd5aee66a00f91b2e15dcc /addr2line.c
parentc42208f8e24402fe1aa8747901fba275bfb0d56b (diff)
merge revision(s) 7d22060c14895bbca3ff962e5456384095b66738: [Backport #17609]
addr2line.c: DW_LNS_fixed_advance_pc takes a single uhalf operand Fixes [Bug #17609] Co-Authored-By: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com> --- addr2line.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Diffstat (limited to 'addr2line.c')
-rw-r--r--addr2line.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/addr2line.c b/addr2line.c
index 9669427d36..2095591fec 100644
--- a/addr2line.c
+++ b/addr2line.c
@@ -437,7 +437,8 @@ parse_debug_line_cu(int num_traces, void **traces, char **debug_line,
addr += a;
break;
case DW_LNS_fixed_advance_pc:
- a = *(unsigned char *)p++;
+ a = *(uint16_t *)p;
+ p += sizeof(uint16_t);
addr += a;
break;
case DW_LNS_set_prologue_end: