commit 395ab474eba31f5bbe95e96cab06ab066384c4af (tree) parent 6a5e2b713fbaa009bb4ec73cf132a0bab6af6205 Author: kcbanner <kcbanner@gmail.com> Date: Sun, 2 Jul 2023 02:57:35 -0400 dwarf: fix logic error in eh_frame_hdry binary search Diffstat:
| M | lib/std/dwarf.zig | | | 11 | +++++++---- |
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/lib/std/dwarf.zig b/lib/std/dwarf.zig @@ -1886,10 +1886,13 @@ pub const ExceptionFrameHeader = struct { .data_rel_base = eh_frame_hdr_ptr, }, builtin.cpu.arch.endian()) orelse return badDwarf(); - if (pc >= pc_begin) left = mid; - if (pc == pc_begin) break; - - len /= 2; + if (pc < pc_begin) { + len /= 2; + } else { + left = mid; + if (pc == pc_begin) break; + len -= len / 2; + } } try stream.seekTo(left * entry_size);