From 86cf43728d5bee5e1dda6558263f452685dffb6c Mon Sep 17 00:00:00 2001 From: Soumya Koduri Date: Mon, 5 Sep 2022 14:01:32 +0530 Subject: [PATCH] rgw/dbstore: Fix coverity issues #1510412, #1511420 Fixes: https://tracker.ceph.com/issues/57322 Fixes: https://tracker.ceph.com/issues/57325 Signed-off-by: Soumya Koduri --- src/rgw/rgw_sal_dbstore.cc | 30 +++++++++++++----------------- src/rgw/rgw_sal_dbstore.h | 2 +- 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/rgw/rgw_sal_dbstore.cc b/src/rgw/rgw_sal_dbstore.cc index e8f39b43243e8..e47548ef4ab03 100644 --- a/src/rgw/rgw_sal_dbstore.cc +++ b/src/rgw/rgw_sal_dbstore.cc @@ -1249,11 +1249,12 @@ namespace rgw::sal { ptail_placement_rule(_ptail_placement_rule), head_obj(std::move(_head_obj)), upload_id(upload->get_upload_id()), + part_num(_part_num), oid(head_obj->get_name() + "." + upload_id + "." + std::to_string(part_num)), meta_obj(((DBMultipartUpload*)upload)->get_meta_obj()), op_target(_store->getDB(), head_obj->get_bucket()->get_info(), head_obj->get_obj(), upload_id), - parent_op(&op_target), part_num(_part_num), + parent_op(&op_target), part_num_str(_part_num_str) {} int DBMultipartWriter::prepare(optional_yield y) @@ -2024,25 +2025,20 @@ extern "C" { void *newDBStore(CephContext *cct) { rgw::sal::DBStore *store = new rgw::sal::DBStore(); - if (store) { - DBStoreManager *dbsm = new DBStoreManager(cct); + DBStoreManager *dbsm = new DBStoreManager(cct); - if (!dbsm ) { - delete store; store = nullptr; - } - - DB *db = dbsm->getDB(); - if (!db) { - delete dbsm; - delete store; store = nullptr; - } - - store->setDBStoreManager(dbsm); - store->setDB(db); - db->set_store((rgw::sal::Store*)store); - db->set_context(cct); + DB *db = dbsm->getDB(); + if (!db) { + delete dbsm; + delete store; + return nullptr; } + store->setDBStoreManager(dbsm); + store->setDB(db); + db->set_store((rgw::sal::Store*)store); + db->set_context(cct); + return store; } diff --git a/src/rgw/rgw_sal_dbstore.h b/src/rgw/rgw_sal_dbstore.h index d70da2b497c63..94a4926c1bf75 100644 --- a/src/rgw/rgw_sal_dbstore.h +++ b/src/rgw/rgw_sal_dbstore.h @@ -701,11 +701,11 @@ protected: uint64_t olh_epoch; std::unique_ptr head_obj; std::string upload_id; + int part_num; std::string oid; /* object->name() + "." + "upload_id" + "." + part_num */ std::unique_ptr meta_obj; DB::Object op_target; DB::Object::Write parent_op; - int part_num; std::string part_num_str; uint64_t total_data_size = 0; /* for total data being uploaded */ bufferlist head_data; -- 2.39.5