DWARF1 AT_sibling sanity check
Project / Subsystem
binutils / gcc
Date
2026-07-27
Proposer
Alan Modra <amodra@gmail.com>
Source type
public_inbox
Consensus
Proposed
Sentiment
—/10
Technical tradeoffs
- • Potential breakage for very old DWARF v1 files that may have used backward `AT_sibling` links.
- • Increased robustness against malformed DWARF v1 input, preventing potential crashes or infinite loops.
All attributes
- project
- binutils
- subsystem
- gcc
- patch_id
- —
- discussion_id
- ambkVeuxp_ZAFso4@squeak.grove.modra.org
- source_type
- public_inbox
- title
- DWARF1 AT_sibling sanity check
- headline
- DWARF1 AT_sibling sanity check
- tldr
- Patch to sanity check AT_sibling in DWARF version 1 to prevent infinite loops from fuzzed object files.
- proposer
- Alan Modra <amodra@gmail.com>
- consensus
- Proposed
- outcome
- proposed
- sentiment_score
- —
- technical_tradeoffs
-
- • Potential breakage for very old DWARF v1 files that may have used backward `AT_sibling` links.
- • Increased robustness against malformed DWARF v1 input, preventing potential crashes or infinite loops.
- series_id
- —
- series_role
- standalone
- series_parts
- []
- tags
-
- • dwarf
- • debugging
- • security
- • binutils
- • patch
- bugzilla_url
- —
- date
- 2026-07-27T00:00:00.000Z
DWARF1 AT_sibling sanity check
This patch introduces a sanity check for the AT_sibling attribute in DWARF version 1 debugging information. The author believes that AT_sibling usually points forward in DWARF v1, a format largely unsupported since GCC 3.3. Allowing backward AT_sibling links can lead to infinite loops when parsing fuzzed object files, impacting tools like addr2line and objdump. This change aims to prevent such issues and may break support for some older DWARF v1 files if they rely on backward links.