Skip to content

Commit

Permalink
Fix issue #713
Browse files Browse the repository at this point in the history
  • Loading branch information
cshung committed Jan 30, 2024
1 parent e4c73a6 commit 4ebb959
Showing 1 changed file with 8 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -58,26 +58,26 @@ unw_get_proc_info_in_range (unw_word_t start_ip,
if (eh_frame_table != 0) {
unw_accessors_t *a = unw_get_accessors_int (as);

struct dwarf_eh_frame_hdr* exhdr = NULL;
struct dwarf_eh_frame_hdr exhdr;
if ((*a->access_mem)(as, eh_frame_table, (unw_word_t*)&exhdr, 0, arg) < 0) {
return -UNW_EINVAL;
}

if (exhdr->version != DW_EH_VERSION) {
Debug (1, "Unexpected version %d\n", exhdr->version);
if (exhdr.version != DW_EH_VERSION) {
Debug (1, "Unexpected version %d\n", exhdr.version);
return -UNW_EBADVERSION;
}
unw_word_t addr = eh_frame_table + offsetof(struct dwarf_eh_frame_hdr, eh_frame);
unw_word_t eh_frame_start;
unw_word_t fde_count;

/* read eh_frame_ptr */
if ((ret = dwarf_read_encoded_pointer(as, a, &addr, exhdr->eh_frame_ptr_enc, pi, &eh_frame_start, arg)) < 0) {
if ((ret = dwarf_read_encoded_pointer(as, a, &addr, exhdr.eh_frame_ptr_enc, pi, &eh_frame_start, arg)) < 0) {
return ret;
}

/* read fde_count */
if ((ret = dwarf_read_encoded_pointer(as, a, &addr, exhdr->fde_count_enc, pi, &fde_count, arg)) < 0) {
if ((ret = dwarf_read_encoded_pointer(as, a, &addr, exhdr.fde_count_enc, pi, &fde_count, arg)) < 0) {
return ret;
}

Expand All @@ -87,8 +87,8 @@ unw_get_proc_info_in_range (unw_word_t start_ip,
return -UNW_ENOINFO;
}

if (exhdr->table_enc != (DW_EH_PE_datarel | DW_EH_PE_sdata4)) {
Debug (1, "Table encoding not supported %x\n", exhdr->table_enc);
if (exhdr.table_enc != (DW_EH_PE_datarel | DW_EH_PE_sdata4)) {
Debug (1, "Table encoding not supported %x\n", exhdr.table_enc);
return -UNW_EINVAL;
}

Expand All @@ -112,4 +112,4 @@ unw_get_proc_info_in_range (unw_word_t start_ip,
return -UNW_ENOINFO;
}
return UNW_ESUCCESS;
}
}

0 comments on commit 4ebb959

Please sign in to comment.