From 602fe9454c47e031d85fc29ac2c1514dd1362311 Mon Sep 17 00:00:00 2001 From: Prashant D Date: Thu, 2 Nov 2017 17:43:04 -0700 Subject: [PATCH] Fix coverity issues in include/rocksdb Summary: include/rocksdb/metadata.h: struct ColumnFamilyMetaData { CID 1322804 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) 2. uninit_member: Non-static class member file_count is not initialized in this constructor nor in any functions that it calls. struct SstFileMetaData { 2. uninit_member: Non-static class member size is not initialized in this constructor nor in any functions that it calls. 4. uninit_member: Non-static class member smallest_seqno is not initialized in this constructor nor in any functions that it calls. 6. uninit_member: Non-static class member largest_seqno is not initialized in this constructor nor in any functions that it calls. 8. uninit_member: Non-static class member num_reads_sampled is not initialized in this constructor nor in any functions that it calls. CID 1322807 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) 10. uninit_member: Non-static class member being_compacted is not initialized in this constructor nor in any functions that it calls. include/rocksdb/sst_file_writer.h: struct ExternalSstFileInfo { 2. uninit_member: Non-static class member sequence_number is not initialized in this constructor nor in any functions that it calls. 4. uninit_member: Non-static class member file_size is not initialized in this constructor nor in any functions that it calls. 6. uninit_member: Non-static class member num_entries is not initialized in this constructor nor in any functions that it calls. CID 1351697 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) 8. uninit_member: Non-static class member version is not initialized in this constructor nor in any functions that it calls. 31 ExternalSstFileInfo() {} include/rocksdb/utilities/transaction.h: explicit Transaction(const TransactionDB* db) {} 2. uninit_member: Non-static class member log_number_ is not initialized in this constructor nor in any functions that it calls. CID 1396133 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR) 4. uninit_member: Non-static class member field txn_state_._M_i is not initialized in this constructor nor in any functions that it calls. 473 Transaction() {} Closes https://github.com/facebook/rocksdb/pull/3100 Differential Revision: D6227651 Pulled By: sagar0 fbshipit-source-id: 5caa4a2cf9471d1f9c3c073f81473636e1f0aa14 --- include/rocksdb/metadata.h | 13 +++++++++++-- include/rocksdb/sst_file_writer.h | 10 +++++++++- include/rocksdb/utilities/transaction.h | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/include/rocksdb/metadata.h b/include/rocksdb/metadata.h index 37e7b50b9..f6be889ba 100644 --- a/include/rocksdb/metadata.h +++ b/include/rocksdb/metadata.h @@ -20,7 +20,7 @@ struct SstFileMetaData; // The metadata that describes a column family. struct ColumnFamilyMetaData { - ColumnFamilyMetaData() : size(0), name("") {} + ColumnFamilyMetaData() : size(0), file_count(0), name("") {} ColumnFamilyMetaData(const std::string& _name, uint64_t _size, const std::vector&& _levels) : size(_size), name(_name), levels(_levels) {} @@ -54,7 +54,16 @@ struct LevelMetaData { // The metadata that describes a SST file. struct SstFileMetaData { - SstFileMetaData() {} + SstFileMetaData() + : size(0), + name(""), + db_path(""), + smallest_seqno(0), + largest_seqno(0), + smallestkey(""), + largestkey(""), + num_reads_sampled(0), + being_compacted(false) {} SstFileMetaData(const std::string& _file_name, const std::string& _path, uint64_t _size, SequenceNumber _smallest_seqno, SequenceNumber _largest_seqno, diff --git a/include/rocksdb/sst_file_writer.h b/include/rocksdb/sst_file_writer.h index 04d5c271a..15e89cd67 100644 --- a/include/rocksdb/sst_file_writer.h +++ b/include/rocksdb/sst_file_writer.h @@ -28,7 +28,15 @@ class Comparator; // ExternalSstFileInfo include information about sst files created // using SstFileWriter. struct ExternalSstFileInfo { - ExternalSstFileInfo() {} + ExternalSstFileInfo() + : file_path(""), + smallest_key(""), + largest_key(""), + sequence_number(0), + file_size(0), + num_entries(0), + version(0) {} + ExternalSstFileInfo(const std::string& _file_path, const std::string& _smallest_key, const std::string& _largest_key, diff --git a/include/rocksdb/utilities/transaction.h b/include/rocksdb/utilities/transaction.h index aa00dffa9..8317ce4ac 100644 --- a/include/rocksdb/utilities/transaction.h +++ b/include/rocksdb/utilities/transaction.h @@ -470,7 +470,7 @@ class Transaction { protected: explicit Transaction(const TransactionDB* db) {} - Transaction() {} + Transaction() : log_number_(0), txn_state_(STARTED) {} // the log in which the prepared section for this txn resides // (for two phase commit)