Fix more defects reported by Coverity Scan (#6935)

Summary:
Mostly uninitialized values: some probably written before use, but some seem like bugs. Also, destructor needs to be virtual, and possible use-after-free in test
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6935

Test Plan: make check

Reviewed By: siying

Differential Revision: D21885484

Pulled By: pdillinger

fbshipit-source-id: e2e7cb0a0cf196f2b55edd16f0634e81f6cc8e08
main
Peter Dillinger 5 years ago committed by Facebook GitHub Bot
parent a8170d774c
commit c7432cc3c0
  1. 4
      include/rocksdb/perf_context.h
  2. 4
      memtable/memtablerep_bench.cc
  3. 2
      port/port_posix.h
  4. 4
      table/table_test.cc
  5. 2
      tools/db_bench_tool.cc
  6. 2
      trace_replay/block_cache_tracer.h
  7. 1
      utilities/backupable/backupable_db.cc

@ -30,10 +30,10 @@ struct PerfContextByLevel {
// total number of user key returned (only include keys that are found, does
// not include keys that are deleted or merged without a final put
uint64_t user_key_return_count;
uint64_t user_key_return_count = 0;
// total nanos spent on reading data from SST files
uint64_t get_from_table_nanos;
uint64_t get_from_table_nanos = 0;
uint64_t block_cache_hit_count = 0; // total number of block cache hits
uint64_t block_cache_miss_count = 0; // total number of block cache misses

@ -452,8 +452,8 @@ class Benchmark {
MemTableRep* table_;
KeyGenerator* key_gen_;
uint64_t* sequence_;
uint64_t num_write_ops_per_thread_;
uint64_t num_read_ops_per_thread_;
uint64_t num_write_ops_per_thread_ = 0;
uint64_t num_read_ops_per_thread_ = 0;
const uint32_t num_threads_;
};

@ -124,7 +124,7 @@ class Mutex {
friend class CondVar;
pthread_mutex_t mu_;
#ifndef NDEBUG
bool locked_;
bool locked_ = false;
#endif
};

@ -1189,11 +1189,11 @@ class FileChecksumTestHelper {
public:
FileChecksumTestHelper(bool convert_to_internal_key = false)
: convert_to_internal_key_(convert_to_internal_key) {
sink_ = new test::StringSink();
}
~FileChecksumTestHelper() {}
void CreateWriteableFile() {
sink_ = new test::StringSink();
file_writer_.reset(test::GetWritableFileWriter(sink_, "" /* don't care */));
}
@ -1291,7 +1291,7 @@ class FileChecksumTestHelper {
std::unique_ptr<RandomAccessFileReader> file_reader_;
std::unique_ptr<TableBuilder> table_builder_;
stl_wrappers::KVMap kv_map_;
test::StringSink* sink_;
test::StringSink* sink_ = nullptr;
static uint64_t checksum_uniq_id_;
};

@ -1851,7 +1851,7 @@ class CombinedStats;
class Stats {
private:
int id_;
uint64_t start_;
uint64_t start_ = 0;
uint64_t sine_interval_;
uint64_t finish_;
double seconds_;

@ -220,7 +220,7 @@ class BlockCacheHumanReadableTraceWriter {
class BlockCacheTraceReader {
public:
BlockCacheTraceReader(std::unique_ptr<TraceReader>&& reader);
~BlockCacheTraceReader() = default;
virtual ~BlockCacheTraceReader() = default;
// No copy and move.
BlockCacheTraceReader(const BlockCacheTraceReader&) = delete;
BlockCacheTraceReader& operator=(const BlockCacheTraceReader&) = delete;

@ -538,6 +538,7 @@ Status BackupEngine::Open(const BackupableDBOptions& options, Env* env,
BackupEngineImpl::BackupEngineImpl(const BackupableDBOptions& options,
Env* db_env, bool read_only)
: initialized_(false),
threads_cpu_priority_(),
latest_backup_id_(0),
latest_valid_backup_id_(0),
stop_backup_(false),

Loading…
Cancel
Save