Skip to content

[cpp-LIN-11] master::Node::set_schedule rejects an empty schedule that should be valid #40

Description

@SoundMatt

Location: src/master/node.cpp (set_schedule, ~lines 23-35); contrast with src/virtual/bus.cpp (set_schedule, ~lines 147-152)

Finding: master::Node::set_schedule returns the invalid-frame error when given an empty entry list. The RELAY spec states that installing an empty schedule table is valid and simply disables scheduled transmission — and the virtual bus's own set_schedule implementation correctly accepts an empty table. The two schedule-setting code paths in this same codebase now contradict each other: callers going through the master node have no way to stop scheduled transmission by installing an empty schedule, while callers going through the virtual bus directly can.

Recommendation: Allow an empty schedule in master::Node::set_schedule (store it and let the run loop treat it as 'nothing scheduled'), matching the virtual bus's behavior and the spec's stated semantics.

Filed from the 2026-07-29 ecosystem audit register; independently re-verified against current HEAD before filing.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions