From b3efb1cbe0126d01ec4df666a19a2c4f87ed398c Mon Sep 17 00:00:00 2001 From: Zhongyi Xie Date: Thu, 28 Jun 2018 18:59:18 -0700 Subject: [PATCH] fix clang analyzer warnings (#4072) Summary: clang analyze is giving the following warnings: > db/compaction_job.cc:1178:16: warning: Called C++ object pointer is null } else if (meta->smallest.size() > 0) { ^~~~~~~~~~~~~~~~~~~~~ db/compaction_job.cc:1201:33: warning: Access to field 'marked_for_compaction' results in a dereference of a null pointer (loaded from variable 'meta') meta->marked_for_compaction = sub_compact->builder->NeedCompact(); ~~~~ db/version_set.cc:2770:26: warning: Called C++ object pointer is null uint32_t cf_id = last_writer->cfd->GetID(); ^~~~~~~~~~~~~~~~~~~~~~~~~ Closes https://github.com/facebook/rocksdb/pull/4072 Differential Revision: D8685852 Pulled By: miasantreble fbshipit-source-id: b0e2fd9dfc1cbba2317723e09886384b9b1c9085 --- db/compaction_job.cc | 1 + db/version_set.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/db/compaction_job.cc b/db/compaction_job.cc index 8f9fd1c50..a9f87d7c2 100644 --- a/db/compaction_job.cc +++ b/db/compaction_job.cc @@ -1167,6 +1167,7 @@ Status CompactionJob::FinishCompactionOutputFile( // Check for iterator errors Status s = input_status; auto meta = &sub_compact->current_output()->meta; + assert(meta != nullptr); if (s.ok()) { Slice lower_bound_guard, upper_bound_guard; std::string smallest_user_key; diff --git a/db/version_set.cc b/db/version_set.cc index 5b32737ec..1b946f2e8 100644 --- a/db/version_set.cc +++ b/db/version_set.cc @@ -2759,6 +2759,7 @@ Status VersionSet::ProcessManifestWrites( } last_writer = *(it++); assert(last_writer != nullptr); + assert(last_writer->cfd != nullptr); if (last_writer->cfd != nullptr && last_writer->cfd->IsDropped()) { continue; }