diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2024-10-02 16:01:36 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2024-10-02 16:08:44 -0400 |
commit | f5eaadb96fb94b2d3666e53a99495840a3099aec (patch) | |
tree | 92343f68c9b8391e9feb158e87169de32c29b98e /src/bfstd.h | |
parent | 9c9dc01f38c808948c6ea508503f913fa800bb9a (diff) | |
download | bfs-f5eaadb96fb94b2d3666e53a99495840a3099aec.tar.xz |
color: Fix an assertion failure with embedded NUL bytes
Leading NUL bytes (e.g. `*\0.gz=...`) could cause us to insert a
non-prefix-free set of strings into the case-insensitive extension trie,
which would lead to crashes like
bfs: trie_split@src/trie.c:538: Assertion failed: `key_nibble != rep_nibble`
and OOB accesses to trie leaf keys. Fix it by ignoring those
extensions, since filenames cannot contain NUL bytes.
Fixes: 08030aea ("color: Delay the case_sensitive decision")
Diffstat (limited to 'src/bfstd.h')
0 files changed, 0 insertions, 0 deletions