facebook / facebook/rocksdb

Multiple code paths don't check InDomain() before using prefix extractor

Open
#5,196 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.