mirror of
https://github.com/systemd/systemd.git
synced 2026-06-24 16:57:55 +00:00
When the accumulated trie key exceeds the fixed-size line buffer, linebuf_get() returns NULL. trie_fnmatch_f() passed that NULL straight into fnmatch() as the pattern, causing a SIGSEGV on a crafted hwdb.bin (reachable now that recursion is capped rather than overflowing the stack first). Treat the NULL like the other corruption checks and return -EBADMSG. Follow-up for73fea38cf1Fixes https://github.com/systemd/systemd/issues/42376 Co-developed-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit3db89cbf0e)