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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions