conf-chk: reject invalid ECM header whitelist entries
chk_ecm_hdr_whitelist() passed header strings to key_atob_l() without
fully validating them. Odd-length strings could produce partial values,
while decoding failures caused by non-hex characters were ignored and
the resulting entry was still added.
Although the entry structure is initialized for each semicolon-separated
group, failed comma-separated decodes could retain bytes from a previous
header in the same group.
Validate that header strings have an even length before applying the
20-byte size limit. Clear the header buffer before decoding and only add
the entry when key_atob_l() succeeds. Invalid entries are silently
skipped, while the existing truncation behavior for valid oversized
headers is preserved.
Update the "81;zzs;;;;;ab" expectation from "81,00,AB" to "81,AB" and
add regression coverage for odd-length, even-length non-hex, and
oversized odd-length headers.