AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Informational 22 Bitcoin

rpc: render Type::ANY in help text instead of aborting

Public commit record

What the developer wrote

Authored by will

85/100 · Strong
rpc: render Type::ANY in help text instead of aborting

RPCResult::Type::ANY triggers NONFATAL_UNREACHABLE() in ToSections(),
which crashes the help() RPC when a command uses Type::ANY in a
nested result field.

Previously this was never hit because Type::ANY was only used as a
top-level alternate result type, filtered out before ToSections() is
called.

getopenrpcinfo() will use this result type, so render it like other
types allowing it to be used in nested result definitions like schema.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This is a small bug-fix in Bitcoin Core's RPC help system. A special placeholder result type called Type::ANY previously caused the help() command to crash with an 'unreachable' assertion when it appeared inside a nested result description. The change makes it render as 'xxx' with description 'any' instead, matching how other types are displayed. It is a denial-of-service-style crash only for the help() RPC output, not for transaction processing, consensus, or wallet operations.

Recommended action

Treat as a routine bug fix. No urgent security response is warranted. Reviewers may want to confirm that no other Type::ANY usages remain unhandled and that getopenrpcinfo() help output renders correctly after the change.

Security signals we found

01

Crash/assertion in RPC help generation (NONFATAL_UNREACHABLE)

02

Denial-of-service vector limited to help() RPC output

03

No consensus, networking, or wallet code affected

04

Fix is a one-line behavior change in a single utility function

Risk score

Why this scored 22/100

Our methodology →
Potential impact 3/30
Exploitability 2/25
Stealth signal 2/15
Affected reach 3/15
Confidence 8/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.