Skip to content

fix: dwarf expression fail closed#140

Merged
swananan merged 3 commits intomainfrom
fix/dwarf-expression-fail-closed
Apr 24, 2026
Merged

fix: dwarf expression fail closed#140
swananan merged 3 commits intomainfrom
fix/dwarf-expression-fail-closed

Conversation

@swananan
Copy link
Copy Markdown
Owner

No description provided.

AccessPlanner previously walked the full aggregate DIE subtree when resolving
a member chain. That let members of nested C++ types match as if they were
direct members of the parent aggregate, so invalid accesses such as
`o.shadow` could compile instead of failing.

Switch member lookup to direct DW_TAG_member children only, and add an e2e
regression that accepts `o.nested.shadow` while rejecting `o.shadow`.
Stop DWARF expression parsing from returning values when a valid prefix is
followed by an invalid or unsupported operation.

Make CFI expression parsing reject unsupported opcodes instead of skipping
them, so traces fail rather than using partial compute steps.

Add unit coverage for both DWARF and CFI fail-open regressions.
@swananan swananan changed the title Fix/dwarf expression fail closed fix: dwarf expression fail closed Apr 24, 2026
@swananan swananan merged commit d8080ba into main Apr 24, 2026
10 checks passed
@swananan swananan deleted the fix/dwarf-expression-fail-closed branch April 24, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant