Multiple code paths don't check InDomain() before using prefix extractor
Open
- Dominant language
- C++
- Stars
- 32.1k
- Forks
- 6.9k
- Avg merge
- 32m
- Merged PRs (30d)
- 1
Description
DBIter and HashSkipListRep don't check InDomain() before using prefix extractor, which can cause crash or unexpected behavior.
https://github.com/facebook/rocksdb/blob/29111e92b4dac98c7748f6fa2be7c894f38e3673/db/db_iter.cc#L465
https://github.com/facebook/rocksdb/blob/29111e92b4dac98c7748f6fa2be7c894f38e3673/memtable/hash_skiplist_rep.cc#L182
### Expected behavior
RocksDB either correctly handle keys out of domain of prefix extractor, or return error.
### Actual behavior
RocksDB may crash.
### Steps to reproduce the behavior
Insert keys not satisfying prefix extractor to the DB.
Contributor guide
Assessment
This issue has not been assessed yet.