Looking at tls 1.3 draft 23: https://datatracker.ietf.org/doc/html/draft-ietf-tls-tls13-23
Section 4.1.2 shows, for a freshly established connection (no previous session from tls 1.2 or earlier) the legacy_session_id for ClientHello must be a zero length variable vector, which allows a max length of 32.
My interpretation of section 3.3 makes this zero length vector a single byte of value 0, followed by a zero byte-length entry, ie followed by nothing.
This seems to misalign structs comprised of the ClientHello. Is this correct?