# debug: fix edge cases in macOS debug symbol lookup · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/8e497eb32c90fdb40ea31bc968b3f4de02f91c1b)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 8e497eb32c90fdb40ea31bc968b3f4de02f91c1b

Requested commit: 8e497eb32c90fdb40ea31bc968b3f4de02f91c1b

Commit: 8e497eb32c90fdb40ea31bc968b3f4de02f91c1b

Tree: 65c7aeb03f3d39608f30901b4633162114ab3892

Author: John Schmidt

Committer: Jakub Konka

## Message

```
debug: fix edge cases in macOS debug symbol lookup

This commit fixes two related things:

1. If the loop goes all the way through the slice without a match, on
   the last iteration `mid == symbols.len - 1` which causes
   `&symbols[mid + 1]` to be out of bounds. End one step before that
   instead.

2. If the address we're looking for is greater than the address of the
   last symbol in the slice, we now match it to that symbol. Previously,
   we would miss this case since we only matched if the address was _in
   between_ the address of two symbols.

```

## Parents

- [2913950ca9deea6cbbbfea6f4592db366961c428](https://git.cafe/gitcafe/zig/commit/2913950ca9deea6cbbbfea6f4592db366961c428?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/8e497eb32c90fdb40ea31bc968b3f4de02f91c1b?format=markdown)
