From baff91c1adb43d9e014b01a6305ae0fb85d36b01 Mon Sep 17 00:00:00 2001 From: Prashant D Date: Thu, 7 Dec 2017 11:50:49 -0800 Subject: [PATCH] table: Fix coverity issues Summary: table/block.cc: 420 } CID 1396127 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) 7. uninit_member: Non-static class member restart_offset_ is not initialized in this constructor nor in any functions that it calls. 421} table/block_based_table_builder.cc: CID 1418259 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) 7. uninit_member: Non-static class member compressed_cache_key_prefix_size is not initialized in this constructor nor in any functions that it calls. table/block_based_table_reader.h: 3. uninit_member: Non-static class member index_type is not initialized in this constructor nor in any functions that it calls. CID 1396147 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) 5. uninit_member: Non-static class member hash_index_allow_collision is not initialized in this constructor nor in any functions that it calls. 413 global_seqno(kDisableGlobalSequenceNumber) {} 414 table/cuckoo_table_reader.cc: 55 if (hash_funs == user_props.end()) { 56 status_ = Status::Corruption("Number of hash functions not found"); 5. uninit_member: Non-static class member is_last_level_ is not initialized in this constructor nor in any functions that it calls. 7. uninit_member: Non-static class member identity_as_first_hash_ is not initialized in this constructor nor in any functions that it calls. 9. uninit_member: Non-static class member use_module_hash_ is not initialized in this constructor nor in any functions that it calls. 11. uninit_member: Non-static class member num_hash_func_ is not initialized in this constructor nor in any functions that it calls. 13. uninit_member: Non-static class member key_length_ is not initialized in this constructor nor in any functions that it calls. 15. uninit_member: Non-static class member user_key_length_ is not initialized in this constructor nor in any functions that it calls. 17. uninit_member: Non-static class member value_length_ is not initialized in this constructor nor in any functions that it calls. 19. uninit_member: Non-static class member bucket_length_ is not initialized in this constructor nor in any functions that it calls. 21. uninit_member: Non-static class member cuckoo_block_size_ is not initialized in this constructor nor in any functions that it calls. 23. uninit_member: Non-static class member cuckoo_block_bytes_minus_one_ is not initialized in this constructor nor in any functions that it calls. CID 1322785 (#2 of 2): Uninitialized scalar field (UNINIT_CTOR) 25. uninit_member: Non-static class member table_size_ is not initialized in this constructor nor in any functions that it calls. 57 return; table/plain_table_index.h: 2. uninit_member: Non-static class member index_size_ is not initialized in this constructor nor in any functions that it calls. CID 1322801 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) 4. uninit_member: Non-static class member sub_index_size_ is not initialized in this constructor nor in any functions that it calls. 128 huge_page_tlb_size_(huge_page_tlb_size) {} 129 Closes https://github.com/facebook/rocksdb/pull/3113 Differential Revision: D6505719 Pulled By: yiwu-arbug fbshipit-source-id: 38f44d8f9dfefb4c2e25d83b8df25a5201c75618 --- table/block.cc | 1 + table/block_based_table_builder.cc | 1 + table/block_based_table_reader.h | 2 ++ table/cuckoo_table_reader.cc | 12 ++++++++++++ table/plain_table_index.h | 2 ++ 5 files changed, 18 insertions(+) diff --git a/table/block.cc b/table/block.cc index 372bbd2f0b5..dc702b80c8b 100644 --- a/table/block.cc +++ b/table/block.cc @@ -402,6 +402,7 @@ Block::Block(BlockContents&& contents, SequenceNumber _global_seqno, : contents_(std::move(contents)), data_(contents_.data.data()), size_(contents_.data.size()), + restart_offset_(0), global_seqno_(_global_seqno) { if (size_ < sizeof(uint32_t)) { size_ = 0; // Error marker diff --git a/table/block_based_table_builder.cc b/table/block_based_table_builder.cc index c8815d378f4..dec0dce2df8 100644 --- a/table/block_based_table_builder.cc +++ b/table/block_based_table_builder.cc @@ -301,6 +301,7 @@ struct BlockBasedTableBuilder::Rep { compression_type(_compression_type), compression_opts(_compression_opts), compression_dict(_compression_dict), + compressed_cache_key_prefix_size(0), flush_block_policy( table_options.flush_block_policy_factory->NewFlushBlockPolicy( table_options, data_block)), diff --git a/table/block_based_table_reader.h b/table/block_based_table_reader.h index a5426cdedf7..8be8551e76e 100644 --- a/table/block_based_table_reader.h +++ b/table/block_based_table_reader.h @@ -407,6 +407,8 @@ struct BlockBasedTable::Rep { filter_policy(skip_filters ? nullptr : _table_opt.filter_policy.get()), internal_comparator(_internal_comparator), filter_type(FilterType::kNoFilter), + index_type(BlockBasedTableOptions::IndexType::kBinarySearch), + hash_index_allow_collision(false), whole_key_filtering(_table_opt.whole_key_filtering), prefix_filtering(true), range_del_handle(BlockHandle::NullBlockHandle()), diff --git a/table/cuckoo_table_reader.cc b/table/cuckoo_table_reader.cc index 9cecebaebb7..937f598d103 100644 --- a/table/cuckoo_table_reader.cc +++ b/table/cuckoo_table_reader.cc @@ -38,6 +38,18 @@ CuckooTableReader::CuckooTableReader( const Comparator* comparator, uint64_t (*get_slice_hash)(const Slice&, uint32_t, uint64_t)) : file_(std::move(file)), + is_last_level_(false), + identity_as_first_hash_(false), + use_module_hash_(false), + num_hash_func_(0), + unused_key_(""), + key_length_(0), + user_key_length_(0), + value_length_(0), + bucket_length_(0), + cuckoo_block_size_(0), + cuckoo_block_bytes_minus_one_(0), + table_size_(0), ucomp_(comparator), get_slice_hash_(get_slice_hash) { if (!ioptions.allow_mmap_reads) { diff --git a/table/plain_table_index.h b/table/plain_table_index.h index 2916be4192b..f4adf025839 100644 --- a/table/plain_table_index.h +++ b/table/plain_table_index.h @@ -123,6 +123,8 @@ class PlainTableIndexBuilder { num_keys_per_prefix_(0), prev_key_prefix_hash_(0), index_sparseness_(index_sparseness), + index_size_(0), + sub_index_size_(0), prefix_extractor_(ioptions.prefix_extractor), hash_table_ratio_(hash_table_ratio), huge_page_tlb_size_(huge_page_tlb_size) {}