mirror of
https://github.com/edera-dev/sprout.git
synced 2026-11-04 18:42:21 +00:00
Load options were decoded with CStr16::from_u16_with_nul, which needs an even byte count and exactly one null at the very end. Firmware that passed an odd size, left off the null terminator, or padded the string with extra nulls made argument parsing fail, and Sprout refused to boot. Decode the raw bytes as little-endian UTF-16 up to the first null instead, replacing anything that isn't valid.