Skip to content

[cpp-LIN-15] Default-constructed Frame defaults to Enhanced checksum, diverging from the spec's canonical default #43

Description

@SoundMatt

Location: include/lin/lin.hpp (struct Frame, ~line 56)

Finding: The Frame struct's checksum_type member defaults to Enhanced. The RELAY spec's canonical C++ LIN frame definition defaults this field to Classic, matching the zero-value convention used by the other language bindings (e.g. the Go canonical type's zero value is the classic checksum). A default- or partially-constructed Frame in this codebase therefore silently diverges from every other language binding for the same struct, which could flip which checksum family gets used for a frame the caller only partially populated.

Recommendation: Default checksum_type to Classic to match the spec's canonical type and the enum's zero value, or explicitly document the deviation if it's intentional.

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