mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-09-02 01:38:19 +00:00
The wire format reserves a 32-byte name field; if the phone sends 32 non-null bytes, ContactInfo::name has no terminator. Subsequent LOG_INF/LOG_DBG sites using %s with contact.name then read past the field into adjacent struct bytes (type, flags, out_path_len, ...) until the first null. No memory corruption — serializeContact uses StrHelper::strzcpy which is length-bounded — but log output gets garbage and a paired peer could probe a few bytes of the struct through log capture. Sibling handler CMD_SET_CHANNEL at :1593-1594 already does this defensively. Match the pattern.