diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-12-15 13:59:55 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-12-15 13:59:55 +0100 |
commit | f95c6f36afa7ff2929205b86ab2f1e674e12b1d2 (patch) | |
tree | 597085abc315e6da6b5b54341ce9b0a5f15d6823 /fsa | |
parent | a5ccdfb0c8180c0ec98ec258a02615ae58c71641 (diff) |
Avoid buffer overflow with empty automaton.
Diffstat (limited to 'fsa')
-rw-r--r-- | fsa/src/vespa/fsa/automaton.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fsa/src/vespa/fsa/automaton.cpp b/fsa/src/vespa/fsa/automaton.cpp index 88777f4e198..ee80fee0db1 100644 --- a/fsa/src/vespa/fsa/automaton.cpp +++ b/fsa/src/vespa/fsa/automaton.cpp @@ -341,6 +341,10 @@ void Automaton::PackedAutomaton::finalize() _packed_idx[i] = _pack_map[_packed_ptr[i]]; } } + if (_blob_used == 0) { + _packable = false; + return; + } // compact blobs if the size is constant std::map<uint32_t,uint32_t> bcomp; |