rocksdb/db
anand76 03ce7fb292 Fix a buffer overrun problem in BlockBasedTable::MultiGet (#6014)
Summary:
The calculation in BlockBasedTable::MultiGet for the required buffer length for reading in compressed blocks is incorrect. It needs to take the 5-byte block trailer into account.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6014

Test Plan: Add a unit test DBBasicTest.MultiGetBufferOverrun that fails in asan_check before the fix, and passes after.

Differential Revision: D18412753

Pulled By: anand1976

fbshipit-source-id: 754dfb66be1d5f161a7efdf87be872198c7e3b72
2019-11-11 16:59:15 -08:00
..
compaction
db_impl
arena_wrapped_db_iter.cc
arena_wrapped_db_iter.h
blob_index.h
builder.cc
builder.h
c_test.c
c.cc
column_family_test.cc
column_family.cc
column_family.h
compact_files_test.cc
compacted_db_impl.cc
compacted_db_impl.h
comparator_db_test.cc
convenience.cc
corruption_test.cc
cuckoo_table_db_test.cc
db_basic_test.cc
db_blob_index_test.cc
db_block_cache_test.cc
db_bloom_filter_test.cc
db_compaction_filter_test.cc upgrade gtest 1.7.0 => 1.8.1 for json result writing 2019-09-09 11:24:11 -07:00
db_compaction_test.cc
db_dynamic_level_test.cc
db_encryption_test.cc
db_filesnapshot.cc
db_flush_test.cc
db_info_dumper.cc
db_info_dumper.h
db_inplace_update_test.cc
db_io_failure_test.cc
db_iter_stress_test.cc
db_iter_test.cc
db_iter.cc
db_iter.h
db_iterator_test.cc
db_log_iter_test.cc
db_memtable_test.cc
db_merge_operand_test.cc
db_merge_operator_test.cc
db_options_test.cc
db_properties_test.cc
db_range_del_test.cc
db_sst_test.cc
db_statistics_test.cc
db_table_properties_test.cc
db_tailing_iter_test.cc
db_test2.cc
db_test_util.cc
db_test_util.h
db_test.cc
db_universal_compaction_test.cc
db_wal_test.cc
db_write_test.cc
dbformat_test.cc
dbformat.cc
dbformat.h
deletefile_test.cc
error_handler_test.cc
error_handler.cc
error_handler.h
event_helpers.cc
event_helpers.h
experimental.cc
external_sst_file_basic_test.cc
external_sst_file_ingestion_job.cc
external_sst_file_ingestion_job.h
external_sst_file_test.cc
fault_injection_test.cc
file_indexer_test.cc
file_indexer.cc
file_indexer.h
filename_test.cc
flush_job_test.cc
flush_job.cc
flush_job.h
flush_scheduler.cc
flush_scheduler.h
forward_iterator_bench.cc
forward_iterator.cc
forward_iterator.h
import_column_family_job.cc
import_column_family_job.h
import_column_family_test.cc
internal_stats.cc
internal_stats.h
job_context.h
listener_test.cc
log_format.h
log_reader.cc
log_reader.h
log_test.cc
log_writer.cc
log_writer.h
logs_with_prep_tracker.cc
logs_with_prep_tracker.h
lookup_key.h
malloc_stats.cc
malloc_stats.h
manual_compaction_test.cc
memtable_list_test.cc
memtable_list.cc
memtable_list.h
memtable.cc
memtable.h
merge_context.h
merge_helper_test.cc
merge_helper.cc
merge_helper.h
merge_operator.cc
merge_test.cc
obsolete_files_test.cc
options_file_test.cc
perf_context_test.cc
pinned_iterators_manager.h
plain_table_db_test.cc
pre_release_callback.h
prefix_test.cc
range_del_aggregator_bench.cc
range_del_aggregator_test.cc
range_del_aggregator.cc
range_del_aggregator.h
range_tombstone_fragmenter_test.cc
range_tombstone_fragmenter.cc
range_tombstone_fragmenter.h
read_callback.h
repair_test.cc
repair.cc
snapshot_checker.h
snapshot_impl.cc
snapshot_impl.h
table_cache.cc
table_cache.h
table_properties_collector_test.cc
table_properties_collector.cc
table_properties_collector.h
transaction_log_impl.cc
transaction_log_impl.h
trim_history_scheduler.cc
trim_history_scheduler.h
version_builder_test.cc
version_builder.cc
version_builder.h
version_edit_test.cc
version_edit.cc
version_edit.h
version_set_test.cc
version_set.cc
version_set.h
wal_manager_test.cc
wal_manager.cc
wal_manager.h
write_batch_base.cc
write_batch_internal.h
write_batch_test.cc
write_batch.cc
write_callback_test.cc
write_callback.h
write_controller_test.cc
write_controller.cc
write_controller.h
write_thread.cc
write_thread.h